/*
- * $Id: comm.cc,v 1.329 2002/04/13 23:07:49 hno Exp $
+ * $Id: comm.cc,v 1.330 2002/04/18 16:09:37 hno Exp $
*
* DEBUG: section 5 Socket Functions
* AUTHOR: Harvest Derived
assert(fd < Squid_MaxFD);
F = &fd_table[fd];
assert(F->flags.open);
- cbdataReferenceDone(F->timeout_data);
- F->timeout_handler = NULL;
if (timeout < 0) {
+ cbdataReferenceDone(F->timeout_data);
F->timeout_handler = NULL;
- return F->timeout = 0;
+ F->timeout = 0;
+ return F->timeout;
}
assert(handler || F->timeout_handler);
if (handler || data) {
+ /* new timeout handler installed. If NULL then the timeout
+ * is only extended
+ */
+ cbdataReferenceDone(F->timeout_data);
F->timeout_handler = handler;
F->timeout_data = cbdataReference(data);
}
- return F->timeout = squid_curtime + (time_t) timeout;
+ F->timeout = squid_curtime + (time_t) timeout;
+ return F->timeout;
}
int