inevity / cacheboy

Automatically exported from code.google.com/p/cacheboy
0 stars 0 forks source link

ipc code uses fd_open but comm_close #19

Open GoogleCodeExporter opened 9 years ago

GoogleCodeExporter commented 9 years ago
The squid IPC code uses fd_open() to open FDs returned by the 
pipe/socketpair/fifo syscalls but 
then uses comm_close() on them.

This works fine in Squid-2 (and Squid-3?) but it means I can't plonk down a 
seperate comm and fd 
context without some reworking. It specifically breaks at the moment with 
sqinet - 
sqinet_init(&fd_table[fd].local_address) isn't called but comm_close() calls 
sqinet_done(...) ; and this 
breaks the assumption that you only deinit what you've init'ed!

Anyway. Its been worked around in ipc.c and I've done a cursory inspection to 
make sure other fd's 
aren't fd_open() but comm_close()'ed. It should just be fixed at some point to 
be consistent so 
comm and disk can be properly split from the fd_table[].

Original issue reported on code.google.com by adrian.c...@gmail.com on 19 Aug 2008 at 11:42