Re: Program hangs at _dl_sysinfo_int80, what does it mean?

From: Paul Pluzhnikov (ppluzhnikov-nsp_at_charter.net)
Date: 02/27/05


Date: 27 Feb 2005 10:43:30 -0800


"LaBird" <wlcheung1975@hkucs.org> writes:

> Thanks very much for your reply.

Please do not top-post and read this:
http://catb.org/~esr/jargon/html/T/top-post.html

> Will the execution of signal handler upon receiving the SIGIO signal
> be spawned as a new thread? Or it just intrerrupts the normal execution
> of the process by changing the value of the program counter (and
> storing the original value to the stack)?

The latter.

> I am asking because my program does not explicitly create new threads,
> nor does it use fork(). So I have assumed there won't be any threads
> apart from the executing process.

That is a good assumption, provided none of the libraries you link
against create their own threads. Gdb 'info thread' and 'info shared'
should provide additional clues -- if libpthread.so.0 is not in
the the output of 'info shared', you can be sure that no additional
threads are present.

If there are no threads and glibc is self-deadlocked, it is a good
bet that you are doing something bad in your signal handler(s).

Cheers,

-- 
In order to understand recursion you must first understand recursion.
Remove /-nsp/ for email.