Hey,

 

I am making some progress on the multithreaded socket server. Thinks are
going well.

 

However; every so often pretty much all (or all of them, I'm yet to check -
either way, it's a majority) of the connected sockets end up having
SSL_read() performed on them, and this function returns 0.

 

I then run SSL_get_error(ssl, [return value of SSL_read) which gives me back
SSL_ERROR_SYSCALL

 

I then run ERR_print_errors_fp(stdout) to check the remainder of the errors,
but there are none!

 

And errno immediately after calling SSL_read() is zero (I set it to zero
prior to calling SSL_read as well).

 

What is going on here?

 

A majority of the sockets all return this at the same time (a read loop
which iterates each socket, comes across this error for all of them) usually
within 1-2 times per hour, causing the sockets to be closed (because I pick
up a return of 0 as an error).

 

What is going wrong here? 80+ connected clients all get disconnected due to
this outstanding issue.

 

The other 99% of the time, the system is functioning correctly and
communicating fine.

 

Because it says SSL_ERROR_SYSCALL, I do as the manual suggests and check the
error queue - there are no other errors. Errno is also zero.

 

What am I supposed to do to handle this error?

 

Any ideas?

 

Thanks,

Andrew

Reply via email to