Skip site navigation (1)Skip section navigation (2)
Date:      Fri, 9 Jun 2006 09:47:43 -0400 (EDT)
From:      Daniel Eischen <deischen@freebsd.org>
To:        Maxim Konovalov <maxim@macomnet.ru>
Cc:        threads@freebsd.org, Mikhail Teterin <mi+mx@aldan.algebra.com>
Subject:   Re: SIGINFO and pthreads
Message-ID:  <Pine.GSO.4.64.0606090944530.10705@sea.ntplx.net>
In-Reply-To: <20060609164120.X11643@mp2.macomnet.net>
References:  <200606071906.25776.mi%2Bmx@aldan.algebra.com> <200606071916.38538.mi%2Bmx@aldan.algebra.com> <20060608081626.X6097@mp2.macomnet.net> <200606081218.17131.mi%2Bmx@aldan.algebra.com> <20060608213618.O17062@mp2.macomnet.net> <Pine.GSO.4.64.0606081851330.6968@sea.ntplx.net> <20060609164120.X11643@mp2.macomnet.net>

index | next in thread | previous in thread | raw e-mail

On Fri, 9 Jun 2006, Maxim Konovalov wrote:

> Daniel,
>
> On Thu, 8 Jun 2006, 18:52-0400, Daniel Eischen wrote:
>
>> On Thu, 8 Jun 2006, Maxim Konovalov wrote:
>>
>>> On Thu, 8 Jun 2006, 12:18-0400, Mikhail Teterin wrote:
>>>
>>>> ÞÅÔ×ÅÒ 08 ÞÅÒ×ÅÎØ 2006 00:17, Maxim Konovalov ÎÁÐÉÓÁ×:
>>>>> Inline it if it's small. šMailman strips most attachments.
>>>>
>>>> Damn... Yes, it is small -- this is just a demo program. Compile it first
>>>> as
>>>>
>>>>  cc -o t t.c
>>>>
>>>> Then -- run and try various keyboard signals like Ctrl-C, Ctrl-Z,
>>>> Ctrl-T (SIGINFO), or Ctrl-\. (It will not quit on its own, you'll
>>>> have to kill it from another prompt.)
>>>>
>>>> They will all work. Then -- recompile as
>>>>
>>>>  cc -o t -pthread t.c
>>>>
>>>> And run... This time around it will ignore the Ctrl-T, while
>>>> continuing to respond to others.
>>>>
>>>>> libpthread uses SIGINFO for dumping thread information to a file but
>>>>> looking over the code it seems it does allow to use SIGINFO to the
>>>>> app.
>>>>
>>>> I'd like to be able to disable the debugging feature or, at least,
>>>> force it to call my signal-handler AS EXPECTED AND DOCUMENTED, after
>>>> it is done with its own dumping.
>>>
>>> A funny thing your test program does work if you run it as
>>>
>>> LIBPTHREAD_DEBUG=yes ./t
>>>
>>> Try this patch:
>>
>> [ ... ]
>>
>>> For the first glance and quick test this check is not needed as we
>>> dump threads in already installed for SIGINFO _thr_sig_handler().  Of
>>> course we need our libpthreads experts review.
>>
>> Yes, that is a correct patch (remove the commented out section).
>> Please go ahead and commit!
>
> There is still a problem if user decided to SIG_IGN or SIG_DFL
> SIGINFO.  In this case threads dump stops working.  I don't know how
> important this fuctionality is so here is a more aggressive patch:

I could go either way on the issue.  This second patch looks
fine to me, so if you want to commit this one, that is fine
with me.

Thanks!

-- 
DE
help

Want to link to this message? Use this
URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?Pine.GSO.4.64.0606090944530.10705>