preparing GPGME 0.4.3

Marcus Brinkmann Marcus.Brinkmann@ruhr-uni-bochum.de
Thu Aug 21 13:21:02 2003


On Thu, Aug 21, 2003 at 08:49:09AM +0200, St?phane Corth?sy wrote:
> Hi,
> 
> I encountered some strange problems on MacOS X with gpgme 0.4.2 when 
> using threads (pthreads IIRC); I have no code to submit yet, but here 
> are the symptoms: in a new thread I create a context, then try to 
> decrypt something or list secret keys in that thread; my thread blocks 
> (it is waiting on a select() return); if I interrupt my process, when 
> under gdb control, and simply continue, then the thread is un-blocked 
> and expected results come out. Everything works fine when I work in the 
> main thread.

This suspiciously sounds like it could also be a bug in the thread
implementation of MacOS X.
 
> I'll try to submit you a test case this week-end.

You should also possibly try to runa test case on MacOS X that just forks(),
forks() again (double fork is used in GPGME to daemonize) and in the inital
parent select(), for example for reading from a pipe, and in the child write()
to the pipe.

However, more might be necessary to provoke the same behaviour as in GPGME,
for example the signal setup GPGME is using (see posix-io.c's spawn
function, which you could use in your non-gpgme test case).

Thanks,
Marcus

-- 
`Rhubarb is no Egyptian god.' GNU      http://www.gnu.org    marcus@gnu.org
Marcus Brinkmann              The Hurd http://www.gnu.org/software/hurd/
Marcus.Brinkmann@ruhr-uni-bochum.de
http://www.marcus-brinkmann.de/