Subversion Repositories general

Compare Revisions

Ignore whitespace Rev 1155 → Rev 1147

/rebootdaemon/trunk/rebootdaemon.c
107,10 → 107,7
return -1;
}
 
if(listen(s, 1) != 0) {
close(s);
return -1;
}
listen(s, 1);
 
return s;
}
120,10 → 117,10
int t;
char cmd[CMDSIZE];
char buf[BUFSIZE];
char* msg;
int br;
struct sockaddr_in sa;
socklen_t sa_len;
int cmdlen;
 
for(;;) {
sa_len = sizeof(sa);
131,17 → 128,17
if(errno == EINTR) /* EINTR might happen on accept(), */
continue; /* try again */
 
syslog(LOG_ERR, "cannot get connection, %s", strerror(errno));
msg = strerror(errno);
syslog(LOG_ERR, "cannot get connection, %s", msg);
continue;
}
 
syslog(LOG_INFO, "connect from %s", inet_ntoa(sa.sin_addr));
msg = inet_ntoa(sa.sin_addr);
syslog(LOG_INFO, "connect from %s", msg);
 
cmd[0] = '\0';
cmdlen = 0;
while((br = recv(t, buf, BUFSIZE, 0)) > 0) {
strncat(cmd, buf, min(br, sizeof(cmd) - cmdlen - 1));
cmdlen += min(br, sizeof(cmd) - cmdlen - 1);
strncat(cmd, buf, min(br, sizeof(cmd) - strlen(cmd) - 1));
}
sleep(1);
close(t);
152,7 → 149,8
syslog(LOG_EMERG, "REBOOT");
sleep(5);
if(reboot(RB_AUTOBOOT) < 0) {
syslog(LOG_ERR, "cannot reboot, %s", strerror(errno));
msg = strerror(errno);
syslog(LOG_ERR, "cannot reboot, %s", msg);
}
}
}
257,8 → 255,7
if(++i < argc) {
strncpy(config_name, argv[i], MAX_CONFIG_LINE);
if(config_name[MAX_CONFIG_LINE - 1] != '\0')
return print_cmd_error(argc, argv,
"Config file name is too long", NULL);
return print_cmd_error(argc, argv, "Config file name is too long", NULL);
}
else {
return print_cmd_error(argc, argv, "Config file expected", NULL);