serve: Move bitset freeing to after closing the mirror and clients

This commit is contained in:
nick
2013-09-17 17:30:33 +01:00
parent 0172eb1cba
commit 77a66c85a0

View File

@@ -831,9 +831,6 @@ void serve_cleanup(struct server* params,
/* need to stop background build if we're killed very early on */ /* need to stop background build if we're killed very early on */
pthread_cancel(params->allocation_map_builder_thread); pthread_cancel(params->allocation_map_builder_thread);
pthread_join(params->allocation_map_builder_thread, &status); pthread_join(params->allocation_map_builder_thread, &status);
if (params->allocation_map) {
bitset_free( params->allocation_map );
}
int need_mirror_lock; int need_mirror_lock;
need_mirror_lock = !server_start_mirror_locked( params ); need_mirror_lock = !server_start_mirror_locked( params );
@@ -849,6 +846,10 @@ void serve_cleanup(struct server* params,
server_join_clients( params ); server_join_clients( params );
if (params->allocation_map) {
bitset_free( params->allocation_map );
}
if ( server_start_mirror_locked( params ) ) { if ( server_start_mirror_locked( params ) ) {
server_unlock_start_mirror( params ); server_unlock_start_mirror( params );
} }