[Citadel Development] (no subject)

2006-04-04 Thread IGnatius T Foobar
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)

2006-04-04 Thread fleeb
   
 Hmm... looking over my logs, I do not yet see something like that.  
  


[Citadel Development] (no subject)

2006-04-04 Thread IGnatius T Foobar
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)

2006-04-04 Thread IGnatius T Foobar
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)

2006-04-04 Thread IGnatius T Foobar
 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.