On Mon, 12 Oct 2009, Ivan Voras wrote:

2009/10/12 Alfred Perlstein <[email protected]>:
* Ivan Voras <[email protected]> [091012 04:29] wrote:
I'm trying to work around some extreme brain damageness in PHP (yes, it sucks) which doesn't have a way to set TCP_NODELAY on stream sockets so I'm wondering what are my other options? Is there a way to set TCP_NODELAY system-wide?

Ivan, many people write php extensions, maybe you can do that?

While writing PHP extensions isn't hard (I've done it before), I'm not yet convinced it's worth the effort in this case - I don't know if TCP_NODELAY will help at all. I'll think about it if time permits.

Create a libc wrapper that calls setsockopt(2) whenever socket(2) is called to create a TCP socket in php, and inject it using LD_PRELOAD. This is a similar trick to what things like socks proxy library wrappers use, is easy to hack together, and avoids having to modify the kernel. When it doesn't work, move on, and if it does, change php :-).

Robert N M Watson
Computer Laboratory
University of Cambridge
_______________________________________________
[email protected] mailing list
http://lists.freebsd.org/mailman/listinfo/freebsd-hackers
To unsubscribe, send any mail to "[email protected]"

Reply via email to