diff options
author | Michael Biebl <biebl@debian.org> | 2008-03-29 12:14:33 +0100 |
---|---|---|
committer | Michael Biebl <biebl@debian.org> | 2008-03-29 12:14:33 +0100 |
commit | db2b679ef6aa0ac3d4679ad3e00a72993204ea78 (patch) | |
tree | 0f95fbe227c3276e051ac79a921045c533b06dda /rfc3195d.c | |
parent | 2bff2e5d72345617f3b3e394ff28823067024f7a (diff) | |
download | rsyslog-db2b679ef6aa0ac3d4679ad3e00a72993204ea78.tar.gz |
Imported Upstream version 1.19.7upstream/1.19.7
Diffstat (limited to 'rfc3195d.c')
-rw-r--r-- | rfc3195d.c | 28 |
1 files changed, 20 insertions, 8 deletions
@@ -93,17 +93,20 @@ static void openlog() strncpy(SyslogAddr.sa_data, pPathLogname, sizeof(SyslogAddr.sa_data)); LogFile = socket(AF_UNIX, SOCK_DGRAM, 0); - if(LogFile < 0) + if(LogFile < 0) { + char errStr[1024]; printf("error opening '%s': %s\n", - pPathLogname, strerror(errno)); + pPathLogname, strerror_r(errno, errStr, sizeof(errStr))); + } } if (LogFile != -1 && !connected && connect(LogFile, &SyslogAddr, sizeof(SyslogAddr.sa_family)+ strlen(SyslogAddr.sa_data)) != -1) connected = 1; - else + else { printf("error connecting '%s': %s\n", - pPathLogname, strerror(errno)); + pPathLogname, strerror_r(errno, errStr, sizeof(errStr))); + } } @@ -157,7 +160,8 @@ void OnReceive(srAPIObj* pAPI, srSLMGObj* pSLMG) nWritten = write(LogFile, pszRawMsg, strlen(pszRawMsg)); if(nWritten < 0) { /* error, recover! */ - printf("error writing to domain socket: %s\r\n", strerror(errno)); + char errStr[1024]; + printf("error writing to domain socket: %s\r\n", strerror_r(errno, errStr, sizeof(errStr))); closelog(); } else { /* prepare for (potential) next write */ @@ -194,6 +198,7 @@ int main(int argc, char* argv[]) { srRetVal iRet; int ch; + struct sigaction sigAct; while ((ch = getopt(argc, argv, "di:np:r:v")) != EOF) switch((char)ch) { @@ -231,10 +236,17 @@ int main(int argc, char* argv[]) if ((argc -= optind)) usage(); + memset(&sigAct, 0, sizeof(sigAct)); + sigemptyset(&sigAct.sa_mask); + sigAct.sa_handler = doShutdown; + sigaction(SIGUSR1, &sigAct, NULL); + sigaction(SIGTERM, &sigAct, NULL); + if(!Debug) - signal(SIGINT, SIG_IGN); - signal(SIGUSR1, doShutdown); - signal(SIGTERM, doShutdown); + { + sigAct.sa_handler = SIG_IGN; + sigaction(SIGINT, &sigAct, NULL); + } if((pAPI = srAPIInitLib()) == NULL) { |