diff options
author | ru <ru@FreeBSD.org> | 1999-09-02 15:17:25 +0000 |
---|---|---|
committer | ru <ru@FreeBSD.org> | 1999-09-02 15:17:25 +0000 |
commit | 5acd2873b42a688d1627dec23332c8d2527a3121 (patch) | |
tree | a55c293ae8f525aa4cd206b139ceaf3bb737be0f /sbin/natd | |
parent | 9a1f4e4d941fe0fe38f57daaefb340484c897074 (diff) | |
download | FreeBSD-src-5acd2873b42a688d1627dec23332c8d2527a3121.zip FreeBSD-src-5acd2873b42a688d1627dec23332c8d2527a3121.tar.gz |
Allow signals to interrupt system calls.
Remove redundant signal() call.
PR: 6676
Submitted by: luoqi
Reviewed by: Ari Suutari <ari@suutari.iki.fi>
Diffstat (limited to 'sbin/natd')
-rw-r--r-- | sbin/natd/natd.c | 4 |
1 files changed, 3 insertions, 1 deletions
diff --git a/sbin/natd/natd.c b/sbin/natd/natd.c index 4fedc05..4bea079 100644 --- a/sbin/natd/natd.c +++ b/sbin/natd/natd.c @@ -286,6 +286,8 @@ int main (int argc, char** argv) * Catch signals to manage shutdown and * refresh of interface address. */ + siginterrupt(SIGTERM, 1); + siginterrupt(SIGHUP, 1); signal (SIGTERM, InitiateShutdown); signal (SIGHUP, RefreshAddr); /* @@ -816,7 +818,6 @@ void Warn (const char* msg) static void RefreshAddr (int sig) { - signal (SIGHUP, RefreshAddr); if (ifName) assignAliasAddr = 1; } @@ -828,6 +829,7 @@ static void InitiateShutdown (int sig) * shutdown existing connections when system * is shut down. */ + siginterrupt(SIGALRM, 1); signal (SIGALRM, Shutdown); alarm (10); } |