diff options
author | Simon Rettberg | 2017-10-19 13:41:51 +0200 |
---|---|---|
committer | Simon Rettberg | 2017-10-19 13:41:51 +0200 |
commit | f366a2b2e8499c94521475ffa6bca998a3aaadd0 (patch) | |
tree | dc98bfdfd01f5c36e2677afddab116d5c78deb53 /src/server/server.c | |
parent | [SERVER] More tweaks to alt-server selection wrt proxy cycles (diff) | |
download | dnbd3-f366a2b2e8499c94521475ffa6bca998a3aaadd0.tar.gz dnbd3-f366a2b2e8499c94521475ffa6bca998a3aaadd0.tar.xz dnbd3-f366a2b2e8499c94521475ffa6bca998a3aaadd0.zip |
[SERVER] Use monotonic clock for measuring time
Introduces new shared source unit timing.[ch]
Closes #3214
Diffstat (limited to 'src/server/server.c')
-rw-r--r-- | src/server/server.c | 12 |
1 files changed, 8 insertions, 4 deletions
diff --git a/src/server/server.c b/src/server/server.c index bfff659..6cbea3a 100644 --- a/src/server/server.c +++ b/src/server/server.c @@ -31,6 +31,7 @@ #include "../version.h" #include "../shared/sockhelper.h" +#include "../shared/timing.h" #include <signal.h> #include <getopt.h> @@ -47,7 +48,7 @@ poll_list_t *listeners = NULL; /** * Time the server was started */ -static time_t startupTime = 0; +static ticks startupTime; static bool sigReload = false, sigLogCycle = false; static dnbd3_client_t* dnbd3_prepareClient(struct sockaddr_storage *client, int fd); @@ -233,6 +234,7 @@ int main(int argc, char *argv[]) // No one-shot detected, normal server operation if ( demonize ) daemon( 1, 0 ); + timing_setBase(); image_serverStartup(); altservers_init(); integrity_init(); @@ -264,7 +266,7 @@ int main(int argc, char *argv[]) return 0; } - startupTime = time( NULL ); + timing_get( &startupTime ); // Give other threads some time to start up before accepting connections sleep( 1 ); @@ -377,9 +379,11 @@ static void dnbd3_handleSignal(int signum) } } -int dnbd3_serverUptime() +uint32_t dnbd3_serverUptime() { - return (int)(time( NULL ) - startupTime); + ticks now; + timing_get( &now ); + return timing_diff( &startupTime, &now ); } static void* server_asyncImageListLoad(void *data UNUSED) |