diff options
author | Eric Andersen | 2001-04-05 20:55:17 +0000 |
---|---|---|
committer | Eric Andersen | 2001-04-05 20:55:17 +0000 |
commit | ea9065072c91b6397cb3cb597f248d23415169f0 (patch) | |
tree | 443da5367b2e6197a4412eb2eff56e269ce33338 /syslogd.c | |
parent | 79359d87e86963607ea11dddd9b18cb43896b765 (diff) | |
download | busybox-ea9065072c91b6397cb3cb597f248d23415169f0.zip busybox-ea9065072c91b6397cb3cb597f248d23415169f0.tar.gz |
Some cleanups/fixes for the syslogd circular buffer code
from Gennady Feldman.
Diffstat (limited to 'syslogd.c')
-rw-r--r-- | syslogd.c | 16 |
1 files changed, 9 insertions, 7 deletions
@@ -119,7 +119,7 @@ static inline void sem_up(int semid) */ static inline void sem_down(int semid) { - if ( semop(semid, SMwdn, 2) == -1 ) + if ( semop(semid, SMwdn, 3) == -1 ) perror_msg_and_die("semop[SMwdn]"); } @@ -155,6 +155,8 @@ void ipcsyslog_init(void){ perror_msg_and_die("semget"); }else perror_msg_and_die("semget"); + } else { + sem_up(s_semid); } }else{ printf("Buffer already allocated just grab the semaphore?"); @@ -514,6 +516,12 @@ static void doSyslogd (void) FD_ZERO (&fds); FD_SET (sock_fd, &fds); +#ifdef BB_FEATURE_IPC_SYSLOG + if (circular_logging == TRUE ){ + ipcsyslog_init(); + } +#endif + #ifdef BB_FEATURE_REMOTE_LOG if (doRemoteLog == TRUE){ init_RemoteLog(); @@ -619,12 +627,6 @@ extern int syslogd_main(int argc, char **argv) umask(0); -#ifdef BB_FEATURE_IPC_SYSLOG - if (circular_logging == TRUE ){ - ipcsyslog_init(); - } -#endif - if (doFork == TRUE) { if (daemon(0, 1) < 0) perror_msg_and_die("daemon"); |