[Citadel Development] (no subject)
There is a slight possibility that I may be getting a handle on some of the weird connectivity and performance problems with Citadel on FreeBSD. fleeb and others ... check your logs for the following message: client_write() failed: resource temporarily unavailable It appears to have something to do with non-blocking sockets and EAGAIN and... uh... something. I'm going to tinker a bit on my FreeBSD dev box and see if I can make it change its undesirable behavior.
[Citadel Development] (no subject)
Hmm... looking over my logs, I do not yet see something like that.
[Citadel Development] (no subject)
Actually, the R in resource is capitalized. buzzwang sent me some sample messages, and I was able to use one of them to reliably produce a problem every single time -- a call to write() on the socket produced EAGAIN, which made the client barf. Presumably an IMAP client would do the same thing. A fix is checked in. I am now going to head over to the WebCit sources and see if the same problem needs to be fixed there.
[Citadel Development] (no subject)
ok ... WebCit doesn't have the same problem because the network listener is structured a little bit differently. In the Citadel server, we put in a call to fcntl() to set all master listening sockets to non-blocking, in order to deal with a rare situation in which select() told us about activity on the socket but accept() didn't return, thereby locking up the server until another connection arrived. This caused the individual session sockets to be set to non-blocking as well. Subsequently setting the individual session sockets back to blocking seems to have corrected the problem I was seeing on FreeBSD. I don't know why FreeBSD gives us EAGAIN on write() in some situations, where Linux and Solaris don't ... but the change does fix it. This is irrelevant for WebCit because the WebCit listener blocks on accept() instead of select() while waiting for activity.
[Citadel Development] (no subject)
The IANA has assigned the following Private Enterprise Number to citadel.org (the Citadel groupware project): 25404 Please see the following for your assignment in the registry: http://www.iana.org/assignments/enterprise-numbers Ok, so we got our enterprise number. I think that's the only thing holding up the release of Citadel 6.80.