On 09/10/2017 15:31, Thomas J. Hruska wrote:
On 10/9/2017 1:32 AM, Michel wrote:
With blocking sockets, you just loop back around and repeat the same
call
if either of those messages are returned by SSL_get_error(). No select()
required.
Yes, you have to repeat the same call, but select() is still usefull,
especially with blocking sockets.
And leads to incorrect code and weird blocking scenarios. Been there,
done that. You're using select() wrong. If you want to block, then
block and don't try to hack around it. Otherwise use non-blocking.
This common misunderstanding of select() is precisely why calling it
with a blocking descriptor should trigger an exception that kills the
application. Doing so would bring a quick end to a lot of bad code.
The system documentation (at least on Linux) isn't just silent
about how select behaves with blocking sockets. It is
*explicitly* written to describe how it works with blocking
sockets (but is mostly silent about non-blocking sockets).
(My copy is marked as being from Linux man-pages project version
3.74).
I suggest you find a good authoritative source for your claim
that select() should not be used with blocking sockets.
Enjoy
Jakob
--
Jakob Bohm, CIO, Partner, WiseMo A/S. https://www.wisemo.com
Transformervej 29, 2860 Søborg, Denmark. Direct +45 31 13 16 10
This public discussion message is non-binding and may contain errors.
WiseMo - Remote Service Management for PCs, Phones and Embedded
--
openssl-users mailing list
To unsubscribe: https://mta.openssl.org/mailman/listinfo/openssl-users