Do I understand correctly, that HEAD is currently pretty broken
after a flood of merges?
In comm.c, func commSetTimeout, we've had changes:
commSetTimeout(int fd, int timeout, PF * handler, void *data)
@@ -443,15 +438,16 @@
assert(fd < Squid_MaxFD);
F = &fd_table[fd];
assert(F->flags.open);
+ cbdataReferenceDone(F->timeout_data);
+ F->timeout_handler = NULL;
if (timeout < 0) {
F->timeout_handler = NULL;
- F->timeout_data = NULL;
return F->timeout = 0;
}
assert(handler || F->timeout_handler);
if (handler || data) {
F->timeout_handler = handler;
- F->timeout_data = data;
+ F->timeout_data = cbdataReference(data);
}
return F->timeout = squid_curtime + (time_t) timeout;
}
we often call commSetTimeout(fd, Config.Timeout.read, NULL, NULL);
and this triggers "assert(handler || F->timeout_handler);" now.
would this be correct way to fix it?
diff -u -r1.22 comm.c
--- comm.c 13 Apr 2002 23:09:16 -0000 1.22
+++ comm.c 18 Apr 2002 12:04:17 -0000
@@ -439,12 +439,12 @@
F = &fd_table[fd];
assert(F->flags.open);
cbdataReferenceDone(F->timeout_data);
- F->timeout_handler = NULL;
if (timeout < 0) {
F->timeout_handler = NULL;
return F->timeout = 0;
}
assert(handler || F->timeout_handler);
+ F->timeout_handler = NULL;
if (handler || data) {
F->timeout_handler = handler;
F->timeout_data = cbdataReference(data);
------------------------------------
}
return F->timeout = squid_curtime + (time_t) timeout;
}
------------------------------------
Andres Kroonmaa <andre@online.ee>
CTO, Microlink Online
Tel: 6501 731, Fax: 6501 725
Pärnu mnt. 158, Tallinn,
11317 Estonia
Received on Thu Apr 18 2002 - 06:11:13 MDT
This archive was generated by hypermail pre-2.1.9 : Tue Dec 09 2003 - 16:15:12 MST