diff --git a/servers/slapd/daemon.c b/servers/slapd/daemon.c index 066c8529ff..ff0c569e36 100644 --- a/servers/slapd/daemon.c +++ b/servers/slapd/daemon.c @@ -3267,6 +3267,18 @@ slap_sig_wake( int sig ) errno = save_errno; } +int +slap_pause_server( void ) +{ + return ldap_pvt_thread_pool_pause( &connection_pool ); +} + +int +slap_unpause_server( void ) +{ + return ldap_pvt_thread_pool_resume( &connection_pool ); +} + void slapd_add_internal( ber_socket_t s, int isactive ) diff --git a/servers/slapd/proto-slap.h b/servers/slapd/proto-slap.h index 84b9142675..230f4ab9ad 100644 --- a/servers/slapd/proto-slap.h +++ b/servers/slapd/proto-slap.h @@ -887,6 +887,9 @@ LDAP_SLAPD_F (void) slap_wake_listener LDAP_P((void)); LDAP_SLAPD_F (void) slap_suspend_listeners LDAP_P((void)); LDAP_SLAPD_F (void) slap_resume_listeners LDAP_P((void)); +LDAP_SLAPD_F (int) slap_pause_server LDAP_P((void)); +LDAP_SLAPD_F (int) slap_unpause_server LDAP_P((void)); + LDAP_SLAPD_F (void) slapd_set_write LDAP_P((ber_socket_t s, int wake)); LDAP_SLAPD_F (void) slapd_clr_write LDAP_P((ber_socket_t s, int wake)); LDAP_SLAPD_F (void) slapd_set_read LDAP_P((ber_socket_t s, int wake));