mirror of
https://git.openldap.org/openldap/openldap.git
synced 2024-12-15 03:01:09 +08:00
FWIW, SIGBREAK on Windows should only be ignored when running as a Service.
This commit is contained in:
parent
68a0e0d922
commit
1f79382c4f
@ -43,6 +43,7 @@
|
||||
|
||||
#include "slurp.h"
|
||||
#include "globals.h"
|
||||
#include "lutil.h"
|
||||
|
||||
|
||||
/*
|
||||
@ -77,8 +78,8 @@ fm(
|
||||
#ifdef SIGHUP
|
||||
(void) SIGNAL( SIGHUP, slurp_set_shutdown );
|
||||
#endif
|
||||
#if defined(SIGBREAK) && defined(HAVE_NT_SERVICE_MANAGER)
|
||||
(void) SIGNAL( SIGBREAK, do_nothing );
|
||||
#if defined(SIGBREAK)
|
||||
(void) SIGNAL( SIGBREAK, slurp_set_shutdown );
|
||||
#endif
|
||||
|
||||
if ( sglob->one_shot_mode ) {
|
||||
@ -165,8 +166,15 @@ fm(
|
||||
RETSIGTYPE
|
||||
slurp_set_shutdown(int sig)
|
||||
{
|
||||
#if HAVE_NT_SERVICE_MANAGER && SIGBREAK
|
||||
if (is_NT_Service && sig == SIGBREAK) {
|
||||
/* empty */;
|
||||
} else
|
||||
#endif
|
||||
{
|
||||
sglob->slurpd_shutdown = 1; /* set flag */
|
||||
tcp_write( sglob->wake_sds[1], "0", 1); /* wake up file mgr */
|
||||
}
|
||||
|
||||
(void) SIGNAL_REINSTALL( sig, slurp_set_shutdown ); /* reinstall handlers */
|
||||
}
|
||||
|
Loading…
Reference in New Issue
Block a user