David Nicklay <dnicklay@web.turner.com> writes:
> The second accept() does occur. The problem seems to be in something
> that resets everything before a specific fd number in the server gets
> reused. If I do a 2nd and 3rd request in parallel, one of them will get
> through. The one that gets through is the one which has a different fd
> number than the first request. I am guessing that resetting on a close
> would do it, but I am not sure that I can do that without hacking other
> areas besides comm_select.c and structs.h. Incidentally, I didn't
> include this in the previous email, but you also need to add two fields
> to _fde in structs.h in order to save events. This seems to be the
> cleanest place to add it to.
>
> struct _fde {
> ...
> int revents; /* events we have received notifications of */
> int events; /* events we are watching for at the moment */
> ...
> }
Why don't you/we discuss this with Davide Librenzi? I'm sure he'd value squid
a one of the most important applications for his sys_epoll()
implementation, and that if given real-world examples he'd be willing to
tweak it.
-- kinkie (kinkie-ml [at] libero [dot] it) Random fortune, unrelated to the message: "Hello again, Peabody here..." -- Mister PeabodyReceived on Mon Nov 25 2002 - 09:43:12 MST
This archive was generated by hypermail pre-2.1.9 : Tue Dec 09 2003 - 16:18:49 MST