isc_sockaddr_t address;
isc_nmsocket_t *sock;
dns_acl_t *acl;
- bool listening;
bool exiting;
controlkeylist_t keys;
controlconnectionlist_t connections;
static void
free_listener(controllistener_t *listener) {
INSIST(listener->exiting);
- INSIST(!listener->listening);
INSIST(ISC_LIST_EMPTY(listener->connections));
if (listener->sock != NULL) {
static void
maybe_free_listener(controllistener_t *listener) {
- if (listener->exiting && !listener->listening &&
- ISC_LIST_EMPTY(listener->connections))
- {
+ if (listener->exiting && ISC_LIST_EMPTY(listener->connections)) {
free_listener(listener);
}
}
}
#endif
listener->exiting = true;
- listener->listening = false;
}
isc_nm_stoplistening(listener->sock);
return;
}
- listener->listening = true;
-
return;
cleanup_sendhandle:
controllistener_t *listener = arg;
isc_sockaddr_t peeraddr;
- listener->listening = false;
-
if (result != ISC_R_SUCCESS) {
if (result == ISC_R_CANCELED) {
shutdown_listener(listener);
control_newconn, listener,
sizeof(controlconnection_t), 5, NULL,
&listener->sock));
- listener->listening = true;
#if 0
/* XXX: no unix socket support yet */
if (type == isc_socktype_unix) {