* Re: thread cannot stop himself
[not found] <01020814582000.18700@nicolas>
@ 2001-02-09 3:36 ` Mark Kettenis
2001-02-12 7:10 ` Nicolas Vignal
0 siblings, 1 reply; 2+ messages in thread
From: Mark Kettenis @ 2001-02-09 3:36 UTC (permalink / raw)
To: Nicolas Vignal; +Cc: gdb
Nicolas Vignal <nicolas.vignal@netline.fr> writes:
> Hello
>
> I join a sample program with a thread who try to stop himself with a
> SIGSTOP.
> ( I know that is not the best way to do that ;-)
> It works fine in command line but not under gdb.
> gdb receive the signal and the flag pass to program is yes. But the thread
> never stop.
>
> Any idea of what happened ?
GDB uses SIGSTOP internally (for stopping threads) which interferes
horribly with your own use of the signal. I'm loooking into a
solution, but things are pretty hairy, and I can't guarantee that I
find an acceptable solution to the problem.
For now, the only advice I can give you is: don't use SIGSTOP. I'm
not sure what you're trying to accomplish by having a thread stop
itself, but there should be an alternative to using signals. Try
using a mutex, semaphore or perhaps poll/select.
Mark
^ permalink raw reply [flat|nested] 2+ messages in thread
* Re: thread cannot stop himself
2001-02-09 3:36 ` thread cannot stop himself Mark Kettenis
@ 2001-02-12 7:10 ` Nicolas Vignal
0 siblings, 0 replies; 2+ messages in thread
From: Nicolas Vignal @ 2001-02-12 7:10 UTC (permalink / raw)
To: Mark Kettenis, gdb; +Cc: gdb
Thanks for your answer, I found this messages in the mailing list
http://sources.redhat.com/ml/gdb/2000-10/msg00001.html
still you ;-)
I will try to use less SIGSTOP but I need a way to stop threads.
Regards
Nicolas
On Friday 09 February 2001 12:36, Mark Kettenis wrote:
> Nicolas Vignal <nicolas.vignal@netline.fr> writes:
> > Hello
> >
> > I join a sample program with a thread who try to stop himself with a
> > SIGSTOP.
> > ( I know that is not the best way to do that ;-)
> > It works fine in command line but not under gdb.
> > gdb receive the signal and the flag pass to program is yes. But the
> > thread never stop.
> >
> > Any idea of what happened ?
>
> GDB uses SIGSTOP internally (for stopping threads) which interferes
> horribly with your own use of the signal. I'm loooking into a
> solution, but things are pretty hairy, and I can't guarantee that I
> find an acceptable solution to the problem.
>
> For now, the only advice I can give you is: don't use SIGSTOP. I'm
> not sure what you're trying to accomplish by having a thread stop
> itself, but there should be an alternative to using signals. Try
> using a mutex, semaphore or perhaps poll/select.
>
> Mark
^ permalink raw reply [flat|nested] 2+ messages in thread
end of thread, other threads:[~2001-02-12 7:10 UTC | newest]
Thread overview: 2+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
[not found] <01020814582000.18700@nicolas>
2001-02-09 3:36 ` thread cannot stop himself Mark Kettenis
2001-02-12 7:10 ` Nicolas Vignal
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox