RE: SVGAlib and pthreads

Search this archive.

From: Ryan Drake (stiletto@mediaone.net)
Date: Sat 03 Oct 1998 - 22:19:54 IST


> I read in a thread faq that both svgalib and libpthread used
> the SIGUSR1 and SIGUSR2 signals.
> Maybe thats the source of the problem, one solution was to
> recompile svgalib or libpthread with other unused signals,
> or to wait for a new implementation of the signals that would
> code them on 64 bits instead of 32.

This does in fact seem like the problem.  Here is a rough outline of what my
prog is doing:

pthread_create()
....
vga_init()
....
vga_setmode( SOME_GRAPHICS_MODE )
....
vga_setmode( TEXT )
....
thread exits
....
main process exits

I have narrowed it down to the first call to vga_setmode() in the parent
process.  If I leave out the call that actually sets the video mode, my
thread and the main process will end properly.  If I make the call to
vga_setmode() I get the following scenario:

thread seems to exit ( I can step right into pthread_exit() ).
main process exits, but after the return() is then put into some kind of
infinite loop, waiting for something.
ps lists the process as still running and also lists the thread as a zombie
process, until I CTRL-C


I'm gonna dig throught the SVGAlib source tonight to get a better grasp on
whats going on.  I'll post my results here if I figure anything out...


This archive was generated by hypermail 2.1.4 : Wed 21 Jan 2004 - 22:10:22 IST