Some cleanups/fixes for the syslogd circular buffer code
from Gennady Feldman.
This commit is contained in:
parent
79359d87e8
commit
ea9065072c
@ -119,7 +119,7 @@ static inline void sem_up(int semid)
|
|||||||
*/
|
*/
|
||||||
static inline void sem_down(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]");
|
perror_msg_and_die("semop[SMwdn]");
|
||||||
}
|
}
|
||||||
|
|
||||||
@ -155,6 +155,8 @@ void ipcsyslog_init(void){
|
|||||||
perror_msg_and_die("semget");
|
perror_msg_and_die("semget");
|
||||||
}else
|
}else
|
||||||
perror_msg_and_die("semget");
|
perror_msg_and_die("semget");
|
||||||
|
} else {
|
||||||
|
sem_up(s_semid);
|
||||||
}
|
}
|
||||||
}else{
|
}else{
|
||||||
printf("Buffer already allocated just grab the semaphore?");
|
printf("Buffer already allocated just grab the semaphore?");
|
||||||
@ -514,6 +516,12 @@ static void doSyslogd (void)
|
|||||||
FD_ZERO (&fds);
|
FD_ZERO (&fds);
|
||||||
FD_SET (sock_fd, &fds);
|
FD_SET (sock_fd, &fds);
|
||||||
|
|
||||||
|
#ifdef BB_FEATURE_IPC_SYSLOG
|
||||||
|
if (circular_logging == TRUE ){
|
||||||
|
ipcsyslog_init();
|
||||||
|
}
|
||||||
|
#endif
|
||||||
|
|
||||||
#ifdef BB_FEATURE_REMOTE_LOG
|
#ifdef BB_FEATURE_REMOTE_LOG
|
||||||
if (doRemoteLog == TRUE){
|
if (doRemoteLog == TRUE){
|
||||||
init_RemoteLog();
|
init_RemoteLog();
|
||||||
@ -619,12 +627,6 @@ extern int syslogd_main(int argc, char **argv)
|
|||||||
|
|
||||||
umask(0);
|
umask(0);
|
||||||
|
|
||||||
#ifdef BB_FEATURE_IPC_SYSLOG
|
|
||||||
if (circular_logging == TRUE ){
|
|
||||||
ipcsyslog_init();
|
|
||||||
}
|
|
||||||
#endif
|
|
||||||
|
|
||||||
if (doFork == TRUE) {
|
if (doFork == TRUE) {
|
||||||
if (daemon(0, 1) < 0)
|
if (daemon(0, 1) < 0)
|
||||||
perror_msg_and_die("daemon");
|
perror_msg_and_die("daemon");
|
||||||
|
16
syslogd.c
16
syslogd.c
@ -119,7 +119,7 @@ static inline void sem_up(int semid)
|
|||||||
*/
|
*/
|
||||||
static inline void sem_down(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]");
|
perror_msg_and_die("semop[SMwdn]");
|
||||||
}
|
}
|
||||||
|
|
||||||
@ -155,6 +155,8 @@ void ipcsyslog_init(void){
|
|||||||
perror_msg_and_die("semget");
|
perror_msg_and_die("semget");
|
||||||
}else
|
}else
|
||||||
perror_msg_and_die("semget");
|
perror_msg_and_die("semget");
|
||||||
|
} else {
|
||||||
|
sem_up(s_semid);
|
||||||
}
|
}
|
||||||
}else{
|
}else{
|
||||||
printf("Buffer already allocated just grab the semaphore?");
|
printf("Buffer already allocated just grab the semaphore?");
|
||||||
@ -514,6 +516,12 @@ static void doSyslogd (void)
|
|||||||
FD_ZERO (&fds);
|
FD_ZERO (&fds);
|
||||||
FD_SET (sock_fd, &fds);
|
FD_SET (sock_fd, &fds);
|
||||||
|
|
||||||
|
#ifdef BB_FEATURE_IPC_SYSLOG
|
||||||
|
if (circular_logging == TRUE ){
|
||||||
|
ipcsyslog_init();
|
||||||
|
}
|
||||||
|
#endif
|
||||||
|
|
||||||
#ifdef BB_FEATURE_REMOTE_LOG
|
#ifdef BB_FEATURE_REMOTE_LOG
|
||||||
if (doRemoteLog == TRUE){
|
if (doRemoteLog == TRUE){
|
||||||
init_RemoteLog();
|
init_RemoteLog();
|
||||||
@ -619,12 +627,6 @@ extern int syslogd_main(int argc, char **argv)
|
|||||||
|
|
||||||
umask(0);
|
umask(0);
|
||||||
|
|
||||||
#ifdef BB_FEATURE_IPC_SYSLOG
|
|
||||||
if (circular_logging == TRUE ){
|
|
||||||
ipcsyslog_init();
|
|
||||||
}
|
|
||||||
#endif
|
|
||||||
|
|
||||||
if (doFork == TRUE) {
|
if (doFork == TRUE) {
|
||||||
if (daemon(0, 1) < 0)
|
if (daemon(0, 1) < 0)
|
||||||
perror_msg_and_die("daemon");
|
perror_msg_and_die("daemon");
|
||||||
|
Loading…
Reference in New Issue
Block a user