[Help-gnutls] push/pull functions

Nikos Mavrogiannopoulos nmav at gnutls.org
Wed Sep 26 12:11:26 CEST 2007

On Wednesday 26 September 2007, Robin Redeker wrote:

> > > I have a (maybe not so?) simple question:
> > > Can I call gnutls_record_recv/gnutls_record_send safely while I'm in a
> > > push/pull callback?
> > As long as you don't use the same session, it should be safe.
> > > The reason I'm asking is that I want to make bindings for GNU
> > > Smalltalk, which has support for non-preemtive multiple threads of
> > > execution.
> > gnutls can be used with multiple threads, as long as the gcrypt callbacks
> > are set and the same session is not accessed by multiple threads.
> Well, usually you have a writer and a reader thread per session. Will
> those interfere?  Or does it mean that I'll have to use non-blocking I/O
> semantics to ensure that there are not two threads doing a recv and send
> at the same time?

It should work. As far as I remember it is even possible to have recv and send 
from different processes (using fork).


More information about the Gnutls-help mailing list