* change cnp_sig_getname() so that it doesn't copy in a buffer, the strings
are constant and they now have the 'SIG' prefix
* add some more signal names
http://code.google.com/p/canopy-httpd/source/detail?r=1111
Modified:
/trunk/src/lib/canopy/signal.c
/trunk/src/lib/canopy/signal.h
/trunk/src/sbin/httpd/httpd.c
=======================================
--- /trunk/src/lib/canopy/signal.c Thu Apr 22 22:58:05 2010
+++ /trunk/src/lib/canopy/signal.c Sun Dec 5 16:25:59 2010
@@ -43,22 +43,26 @@
*/
static const char* const sig_names[] = {
"",
- "HUP",
- "INT",
- "QUIT",
- "ILL",
- "TRAP",
- "ABRT",
- "EMT",
- "FPE",
- "KILL",
- "BUS",
- "SEGV",
- "SYS",
- "PIPE",
- "ALRM",
- "TERM",
- "URG",
+ "SIGHUP",
+ "SIGINT",
+ "SIGQUIT",
+ "SIGILL",
+ "SIGTRAP",
+ "SIGABRT",
+ "SIGEMT",
+ "SIGFPE",
+ "SIGKILL",
+ "SIGBUS",
+ "SIGSEGV",
+ "SIGSYS",
+ "SIGPIPE",
+ "SIGALRM",
+ "SIGTERM",
+ "SIGURG",
+ "SIGSTOP",
+ "SIGTSTP",
+ "SIGCONT",
+ "SIGCHLD",
};
@@ -78,18 +82,14 @@
*
*/
const char*
-cnp_sig_getname(int signo, char *buf, size_t len)
+cnp_sig_getname(int signo)
{
if ((signo >= (int)(sizeof(sig_names) / sizeof(sig_names[0]))) ||
(signo < 0)) {
return (NULL);
}
- else if (sig_names[signo] == NULL)
- return (NULL);
-
- snprintf(buf, len, "SIG%s", sig_names[signo]);
-
- return (buf);
+
+ return (sig_names[signo]);
}
/*
=======================================
--- /trunk/src/lib/canopy/signal.h Mon Aug 31 19:45:42 2009
+++ /trunk/src/lib/canopy/signal.h Sun Dec 5 16:25:59 2010
@@ -31,7 +31,7 @@
-const char* cnp_sig_getname (int, char *, size_t);
+const char* cnp_sig_getname (int);
const char* cnp_sig_getdesc (int, char *, size_t);
=======================================
--- /trunk/src/sbin/httpd/httpd.c Sat Dec 4 12:37:40 2010
+++ /trunk/src/sbin/httpd/httpd.c Sun Dec 5 16:25:59 2010
@@ -312,7 +312,7 @@
break;
default:
httpd_usage();
- exit(1);
+ exit(EX_USAGE);
break; /* NOTREACHED */
}
@@ -649,7 +649,7 @@
httpd_loop(void)
{
int src, info;
- char sigbuf[16], source[32];
+ char source[32];
struct timespec timeout;
httpd_log_notice("%s ready to answer requests", httpd_server_ident);
@@ -665,8 +665,7 @@
if (src == HTTPD_SHUTDOWN_SIG) {
snprintf(source, sizeof(source), "signal %s",
- cnp_sig_getname(info, sigbuf,
- sizeof(sigbuf)));
+ cnp_sig_getname(info));
}
else if (src == HTTPD_SHUTDOWN_CTL) {