A while ago, in August, Ryan Bloom, regarding UDP support in apache, was saying:
> The two places that still need to be fixed for this to work are adding > sockets to the listen_rec list and the lingering_close logic. Both of > these can be fixed by adding a hook to the server. Adding listeners > to the listen_rec list _may_ be possible in the open_logs phase, which > is where the core server does it, but I haven't tried to implement > that yet. If it can be doine in the open_logs phase, then you won't > need another hook for it. The lingering close logic should just be > replaced by a simple hook that the core server calls. The core can > add lingering_close to that hook, and everything should continue to > work. [1] I've been working on mod_udp for the last week or so and got everything working in a modular way. It basically works fine. The only thing left for me to get around is the lingering_close logic. But I am not sure I understand what Ryan is suggesting. Currently, the lingering_close is called after process_connection in the different mpms. What I can see as possible is to create a new hook 'post_connection' and have core.c register ap_lingering_close in there. Then, mod_udp, could push a no-op handler on top of it and short-circuit out. Another simpler option I can see, would be to add another function pointer to ap_listen_t for the lingering close function. Any thoughts ? Once this problem is solved, I will be happy to release mod_udp for apache ;-) 1-http://marc.theaimsgroup.com/?l=apache-httpd-dev&m=102936520919151&w=2 -------------------------------------------------------------------------------- Philippe M. Chiasson /gozer\@(cpan|ectoplasm)\.org/ 88C3A5A5 (122FF51B/C634E37B) http://gozer.ectoplasm.org/ F9BF E0C2 480E 7680 1AE5 3631 CB32 A107 88C3 A5A5 Q: It is impossible to make anything foolproof because fools are so ingenious. perl -e'$$=\${gozer};{$_=unpack(P7,pack(L,$$));/^JAm_pH\n$/&&print||$$++&&redo}'
