Am Mittwoch 06 Mai 2009 11:27:29 schrieb Howard Chu: > Ralf Haferkamp wrote: > > Am Dienstag 05 Mai 2009 22:48:10 schrieb Howard Chu: > > Something like proposed in ITS#5133? It seems that it was rejected with a > > reference to the enablement of SO_KEEPALIVE, though. Should we revisit > > that? > > Seems like it, yes. Btw, you mentioned that sending Abandon 0 will be sufficient as a no-op. How's that going to work?
[..] > > I havn't had a good idea yet how to easily fix this case, apart from > > leveraging TCP keepalives. > > > > (According to the docs, SSL_read() would return SSL_ERROR_WANT_READ when > > the underlying BIO is non-blocking. But we're using blocking IO. I am > > unsure how much effort it would be to port that to non-blocking. I'd > > think it's a non- trivial task ;)). > > I don't think there's any particular dependencies left in our code in this > regard; ber_get_next() can be called as many times as necessary to retrieve > a complete message. All of our input is triggered by select/poll/etc. > What's less clear is how well OpenSSL actually behaves with non-blocking > sockets; there are a lot of bug reports on that as I recall. You interested > in testing that? Apart from the usual time-constraints, I am not too keen on that. ;) > I guess, in the absence of a better solution, go ahead with what you've > already worked up. We'll just have to document somewhere (Admin Guide I > suppose) that a system's TCP keepalive setting may need to be adjusted if > not on Linux... I just submitted the libldap part, will see how/if I can work out the syncrepl part later. I need to finish some other stuff first. -- regards, Ralf