Commit 04c1c96a authored by Quanah Gibson-Mount's avatar Quanah Gibson-Mount
Browse files

Further fixes from HEAD for ITS#5835

parent 532e4ccb
......@@ -1856,7 +1856,9 @@ int connection_write(ber_socket_t s)
Debug( LDAP_DEBUG_TRACE,
"connection_write(%d): waking output for id=%lu\n",
s, c->c_connid, 0 );
ldap_pvt_thread_mutex_lock( &c->c_write2_mutex );
ldap_pvt_thread_cond_signal( &c->c_write2_cv );
ldap_pvt_thread_mutex_unlock( &c->c_write2_mutex );
if ( ber_sockbuf_ctrl( c->c_sb, LBER_SB_OPT_NEEDS_READ, NULL ) ) {
slapd_set_read( s, 1 );
......
......@@ -215,7 +215,7 @@ static struct slap_daemon {
int rc; \
SLAP_EPOLL_SOCK_IX((s)) = slap_daemon.sd_nfds; \
SLAP_EPOLL_SOCK_EP((s)).data.ptr = (l) ? (l) : (void *)(&SLAP_EPOLL_SOCK_IX(s)); \
SLAP_EPOLL_SOCK_EV((s)) = EPOLLIN|EPOLLET; \
SLAP_EPOLL_SOCK_EV((s)) = EPOLLIN; \
rc = epoll_ctl(slap_daemon.sd_epfd, EPOLL_CTL_ADD, \
(s), &SLAP_EPOLL_SOCK_EP((s))); \
if ( rc == 0 ) { \
......@@ -2545,6 +2545,11 @@ slapd_daemon_task(
} else if ( !w ) {
Debug( LDAP_DEBUG_CONNS,
"daemon: hangup on %d\n", fd, 0, 0 );
#ifdef HAVE_EPOLL
/* Don't keep reporting the hangup
*/
SLAP_EPOLL_SOCK_SET( fd, EPOLLET );
#endif
connection_hangup( fd );
}
}
......
Supports Markdown
0% or .
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment