https://bugs.openldap.org/show_bug.cgi?id=9474
--- Comment #3 from Howard Chu hyc@openldap.org --- (In reply to Simon Pichugin from comment #2)
(In reply to Howard Chu from comment #1)
Sorry, your request is still vague. "Should return meaningful error code" - which error code are you asking to be returned? The EINTR is returned from the I/O layer to the TLS library, so it's up to the TLS library to give that back to libldap. If ERR_peek_error() gives us an empty string then there's nothing else for us to return.
ERR_peek_error() returns the earliest error code from the thread's error queue.
My assumption is that the queue may have a few errors at the moment when ERR_peek_error() function is called.
I understand why ERR_peek_error() is chosen here but we can make libldap more robust and check other errors if ERR_peek_error() has an empty value. If that's the case...
What do you think?
Feel free to post a patch demonstrating your idea.