Howard Chu writes:
But the caller doesn't know that. What it knows is that ber_get_next() returned LBER_DEFAULT.
And that's all that matters.
As long as the try-again error code isn't spurious, which is what I don't know when/how can happen. Though hopefully the caller will get another error when it tries again.
It does mean the caller can log the wrong error code though. In particular after a non-error return.
If the caller doesn't see one of the try-again error codes, then the connection is dropped.