summaryrefslogtreecommitdiff
path: root/src/server_signals.c
diff options
context:
space:
mode:
authorJoshua Judson Rosen2015-02-16 23:33:02 -0500
committerJoshua Judson Rosen2015-02-16 23:33:02 -0500
commitb3be641eeddce360692d3a3e872d769f86f1b293 (patch)
treedcb07ecbb9a04ff7e7cbe5adfeb246de87e354d6 /src/server_signals.c
parentVC: ignore backup-files. (diff)
downloadapf-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.c9
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());