diff options
author | Joshua Judson Rosen | 2015-02-16 23:33:02 -0500 |
---|---|---|
committer | Joshua Judson Rosen | 2015-02-16 23:33:02 -0500 |
commit | b3be641eeddce360692d3a3e872d769f86f1b293 (patch) | |
tree | dcb07ecbb9a04ff7e7cbe5adfeb246de87e354d6 /src/server_signals.c | |
parent | VC: ignore backup-files. (diff) | |
download | apf-b3be641eeddce360692d3a3e872d769f86f1b293.tar.gz |
Nix mysleep().
Just use sleep() where only whole-second resolution is used
to delay between reconnect-attempts; and nanosleep where
sub-second resolution is used.
sleep() should actually be OK, because we don't intermix those calls
with alarm() or any other signals or itimer functions.
nanosleep() should be OK because POSIX.1-2001 requires
that it not have the crazy signal interactions
that its predecessors are known for.
Diffstat (limited to 'src/server_signals.c')
-rw-r--r-- | src/server_signals.c | 9 |
1 files changed, 8 insertions, 1 deletions
diff --git a/src/server_signals.c b/src/server_signals.c index 00f69bd..84cf5ec 100644 --- a/src/server_signals.c +++ b/src/server_signals.c @@ -28,6 +28,8 @@ #include "logging.h" #include "server_configuration_struct.h" +#include <time.h> + extern ServerConfiguration* config; /* @@ -77,7 +79,12 @@ server_sig_int(int signo) } /* FIXME: give a time to close all connections */ - mysleep(0.1); + { + struct timespec ts; + ts.tv_sec = 0; + ts.tv_nsec = 100000000; + nanosleep(&ts, NULL); + } aflog(LOG_T_MAIN, LOG_I_NOTICE, "SERVER CLOSED cg: %ld bytes", getcg()); |