/*
- * $Id: comm.cc,v 1.376 2003/06/23 10:39:52 robertc Exp $
+ * $Id: comm.cc,v 1.377 2003/06/23 12:27:12 robertc Exp $
*
* DEBUG: section 5 Socket Functions
* AUTHOR: Harvest Derived
static IPH commConnectDnsHandle;
static int commResetFD(ConnectStateData * cs);
static int commRetryConnect(ConnectStateData * cs);
+static void requireOpenAndActive(int const fd);
CBDATA_TYPE(ConnectStateData);
static PF comm_accept_try;
#endif
}
+void
+requireOpenAndActive(int const fd)
+{
+ assert(fd_table[fd].flags.open == 1);
+ assert(fdc_table[fd].active == 1);
+}
/*
* Return whether a file descriptor has any pending read request callbacks
dlink_node *node;
CommCallbackData *cd;
- assert(fd_table[fd].flags.open == 1);
- assert(fdc_table[fd].active == 1);
+ requireOpenAndActive(fd);
/*
* XXX I don't like having to walk the list!
bool
comm_has_pending_read(int fd)
{
- assert(fd_table[fd].flags.open == 1);
- assert(fdc_table[fd].active == 1);
-
+ requireOpenAndActive(fd);
return (fdc_table[fd].read.hasCallback());
}
void
comm_read_cancel(int fd, IOCB *callback, void *data)
{
- assert(fd_table[fd].flags.open == 1);
- assert(fdc_table[fd].active == 1);
+ requireOpenAndActive(fd);
assert(fdc_table[fd].read.callback == CallBack<IOCB>(callback,data));
comm_accept(int fd, IOACB *handler, void *handler_data) {
fdc_t *Fc;
- assert(fd_table[fd].flags.open == 1);
- assert(fdc_table[fd].active == 1);
+ requireOpenAndActive(fd);
/* make sure we're not pending! */
assert(fdc_table[fd].accept.accept.callback.handler == NULL);