/*
- * $Id: comm.cc,v 1.206 1997/11/23 06:52:36 wessels Exp $
+ * $Id: comm.cc,v 1.207 1997/11/28 19:47:22 wessels Exp $
*
* DEBUG: section 5 Socket Functions
* AUTHOR: Harvest Derived
if (F->close_handler) {
for (ch = F->close_handler; ch; ch = next) {
next = ch->next;
- ch->handler(fd, ch->data);
+ if (cbdataValid(ch->data))
+ ch->handler(fd, ch->data);
+ cbdataUnlock(ch->data);
safe_free(ch);
}
} else if (F->timeout_handler) {
last->next = p->next;
else
fd_table[fd].close_handler = p->next;
+ cbdataUnlock(p->data);
safe_free(p);
}
if (F->close_handler) {
for (ch = F->close_handler; ch; ch = next) {
next = ch->next;
- ch->handler(fd, ch->data);
+ if (cbdataValid(ch->data))
+ ch->handler(fd, ch->data);
+ cbdataUnlock(ch->data);
safe_free(ch);
}
} else if (F->timeout_handler) {