[patch] Fix various bugs when using the gnutls async API

Nikos Mavrogiannopoulos nmav at gnutls.org
Tue Aug 17 20:02:41 CEST 2010

On 08/17/2010 06:26 PM, Sjoerd Simons wrote:

> gnutls_record_send is documented to return the number of bytes send (by
> the user!), so the failure case is currently like this:
> gnutls_record_send () => -EAGAIN
> gnutls_record_send () => byte_length
> Where byte_lenght is what at that point is still left in the
> record_send_buffer, it's not related to the data the user was sending.


>> I am also wondering why the test program mini-egain that forces the pull
>> function to return eagain now and then, it didn't trigger the errors you
>> see. How do you trigger those issues?
> I guess pure luck in the case of running mini-egain ? In our case every
> pull and push will first return EAGAIN and only on the second call
> succeed, so it will stress all the code-patch related to EAGAIN. 

Something is missing in mini-eagain and cannot detect the issues you
found, even with a change like you say. I cannot figure it out so I'm
postponing to a less busy moment.

Thanks again,

More information about the Gnutls-devel mailing list