from event loop on an socket and, in the meantime, someone has closed this
socket.
INSIST(VALID_SOCKET(sock));
LOCK(&sock->lock);
+ if (sock->fd < 0) {
+ /* Socket is gone */
+ UNLOCK(&sock->lock);
+ return;
+ }
socket_log(sock, NULL, TRACE,
"internal_accept called, locked socket");
INSIST(VALID_SOCKET(sock));
LOCK(&sock->lock);
+ if (sock->fd < 0) {
+ /* Socket is gone */
+ UNLOCK(&sock->lock);
+ return;
+ }
dev = ISC_LIST_HEAD(sock->recv_list);
if (dev == NULL) {
goto finish;
INSIST(VALID_SOCKET(sock));
LOCK(&sock->lock);
+ if (sock->fd < 0) {
+ /* Socket is gone */
+ UNLOCK(&sock->lock);
+ return;
+ }
dev = ISC_LIST_HEAD(sock->send_list);
if (dev == NULL) {
goto finish;