Skip site navigation (1)Skip section navigation (2)
Date:      Thu, 29 Mar 2001 12:40:06 -0800
From:      Brian Matthews <blm@actzero.com>
To:        "'nate@yogotech.com'" <nate@yogotech.com>
Cc:        freebsd-stable@FreeBSD.ORG
Subject:   RE: Threads vs. blocking sockets
Message-ID:  <F0D64494733BD411BB9A00D0B74A0264021C9F@cpe-24-221-167-196.ca.sprintbbd.net>

next in thread | raw e-mail | index | archive | help
| Again, all threading libraries I've used (not just on 
| FreeBSD) *require*
| the user to check that when sending/receiving data, the 
| caller must make
| sure that all the expected data has been sent/received.

Linux doesn't, and I don't think Solaris does (we just moved so I can't try
it now, but when I was investigating the problem I'm pretty sure I tried it
on our Sun box). Also, it means that threaded Python is basically useless
for doing HTTP stuff, as the standard Python library httplib assumes send
sends everything or fails (which is how I originally found the problem), and
it looks like perl does the same thing.

We could probably argue forever which way is more "correct", but it seems to
me that having blocking sockets look the same whether you're in a threaded
FreeBSD application, a nonthreaded FreeBSD application, a nonthreaded
non-FreeBSD Unix application, or a threaded Linux application is a Good
Thing. Also, having the standard libraries of two of the major scripting
languages work unchanged on FreeBSD seems like a win.

Brian

To Unsubscribe: send mail to majordomo@FreeBSD.org
with "unsubscribe freebsd-stable" in the body of the message




Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?F0D64494733BD411BB9A00D0B74A0264021C9F>