- pthread_kill( sglob->fm_tid, SIGUSR1 ); /* wake up file mgr */
- sglob->rq->rq_lock( sglob->rq ); /* lock queue */
- pthread_cond_broadcast( &(sglob->rq->rq_more) ); /* wake repl threads */
- for ( i = 0; i < sglob->num_replicas; i++ ) {
- (sglob->replicas[ i ])->ri_wake( sglob->replicas[ i ]);
- }
- sglob->rq->rq_unlock( sglob->rq ); /* unlock queue */
- (void) SIGNAL( SIGTERM, (void *) set_shutdown ); /* reinstall handlers */
- (void) SIGNAL( SIGINT, (void *) set_shutdown );
- (void) SIGNAL( SIGHUP, (void *) set_shutdown );
+ tcp_write( sglob->wake_sds[1], "0", 1); /* wake up file mgr */
+
+ (void) SIGNAL_REINSTALL( sig, slurp_set_shutdown ); /* reinstall handlers */