This is the mail archive of the
gdb-prs@sources.redhat.com
mailing list for the GDB project.
Re: gdb/259: Thread receives Interrupted System Call error while waiting on message queue.
- From: Daniel Jacobowitz <drow at mvista dot com>
- To: nobody at sources dot redhat dot com
- Cc: gdb-prs at sources dot redhat dot com,
- Date: 15 Dec 2001 01:48:01 -0000
- Subject: Re: gdb/259: Thread receives Interrupted System Call error while waiting on message queue.
- Reply-to: Daniel Jacobowitz <drow at mvista dot com>
The following reply was made to PR gdb/259; it has been noted by GNATS.
From: Daniel Jacobowitz <drow@mvista.com>
To: lkiss@deltaprime.com
Cc: gdb-gnats@sources.redhat.com
Subject: Re: gdb/259: Thread receives Interrupted System Call error while waiting on message queue.
Date: Fri, 14 Dec 2001 20:38:20 -0500
On Fri, Dec 14, 2001 at 05:48:29PM -0000, lkiss@deltaprime.com wrote:
> If a thread is waiting on a message queue and another thread
> is created (say in the main thread) the msgrcv() function
> returns with an error code of EINTR.
>
> This appears to be the case only while the program is under
> gdb's control.
That's right. When a new thread is created, all threads running under
GDB will receive a signal. This is a fairly legitimate thing to do.
In an ideal world, the application would never find out; but in all
current versions of Linux, they do. This may be fixed in the kernel
sometime soon.
--
Daniel Jacobowitz Carnegie Mellon University
MontaVista Software Debian GNU/Linux Developer