thanks for the clarification.
regards joke On Wednesday 10 April 2013 23:31:18 you wrote: > On 04/10/2013 11:10 PM, Joke de Buhr wrote: > >> Your pull timeout function should return 0 on timeout, a positive number > >> if data can be received and -1 on error. I'll make the documentation > >> more clear on that, but in your case you should have returned zero > >> instead of EAGAIN. > > > > i see the point especially if i would use a traditional select based > > approach while waiting for a timeout. > > but let's assume: > > the handshake timeout isn't set at all. my pull timeout function should > > never block. > > Indeed. It should return 0 when it has no data because it is called with > a parameter of 0 ms. > > > as a consequence the pull_timeout_function() will always get called with > > an > > timeout value of 0. should i return 0 or set gnutls EAGAIN value and > > return -1 if no new data is available? i can't wait using select. the > > function can't block. if data is available handshake() or receive() will > > be called. > The pull timeout function is set so gnutls can wait when needed. However > in your case (you use non-blocking mode) it should be called with a > parameter of 0 ms, so you should return 0 (timeout) when no data are > there. That's similar to what select does. > > > now the handshake() will return a value of GNUTLS_EAGAIN and i use > > EAGAIN doesn't imply that no data are there. It merely says call me > again sometime. That's why you see no action there. > > regards, > Nikos _______________________________________________ Gnutls-help mailing list [email protected] http://lists.gnupg.org/mailman/listinfo/gnutls-help
