diff options
author | Simon Rettberg | 2013-11-12 18:52:17 +0100 |
---|---|---|
committer | Simon Rettberg | 2013-11-12 18:52:17 +0100 |
commit | d39c427e9acd810c9337bd77eb64996ad5fb4c2d (patch) | |
tree | 3b9ece793d6303ad870b2c64f09232a32ad18589 /src/server/altservers.c | |
parent | [SERVER] Save cache maps every 30 mins (diff) | |
download | dnbd3-d39c427e9acd810c9337bd77eb64996ad5fb4c2d.tar.gz dnbd3-d39c427e9acd810c9337bd77eb64996ad5fb4c2d.tar.xz dnbd3-d39c427e9acd810c9337bd77eb64996ad5fb4c2d.zip |
[SERVER] Shut down altservers finder properly
Diffstat (limited to 'src/server/altservers.c')
-rw-r--r-- | src/server/altservers.c | 10 |
1 files changed, 6 insertions, 4 deletions
diff --git a/src/server/altservers.c b/src/server/altservers.c index 7360791..5317936 100644 --- a/src/server/altservers.c +++ b/src/server/altservers.c @@ -51,6 +51,7 @@ void altservers_init() void altservers_shutdown() { if ( !initDone ) return; + write( signalPipe, "", 1 ); // Wake altservers thread up pthread_join( altThread, NULL ); } @@ -345,7 +346,7 @@ static void *altservers_main(void *data) dnbd3_host_t servers[ALTS + 1]; serialized_buffer_t serialized; struct timespec start, end; - time_t nextCacheMapSave = time(NULL) + 120; + time_t nextCacheMapSave = time( NULL ) + 120; setThreadName( "altserver-check" ); blockNoncriticalSignals(); @@ -386,6 +387,7 @@ static void *altservers_main(void *data) memlogf( "[WARNING] epoll_wait() error in uplink_connector" ); usleep( 100000 ); } + if ( _shutdown ) goto cleanup; // Empty pipe do { ret = read( readPipe, buffer, sizeof buffer ); @@ -521,10 +523,10 @@ static void *altservers_main(void *data) pthread_mutex_unlock( &pendingLockConsume ); } // Save cache maps of all images if applicable - const time_t now = time(NULL); - if (now > nextCacheMapSave) { + const time_t now = time( NULL ); + if ( now > nextCacheMapSave ) { nextCacheMapSave = now + SERVER_CACHE_MAP_SAVE_INTERVAL; - printf("[DEBUG] Saving cache maps...\n"); + printf( "[DEBUG] Saving cache maps...\n" ); image_saveAllCacheMaps(); } } |