From: Gilles Chanteperdrix <gilles.chanteperdrix@xenomai.org>
To: Jan Kiszka <jan.kiszka@domain.hid>
Cc: Xenomai core <Xenomai-core@domain.hid>
Subject: Re: [Xenomai-core] [PATCH 1/1] Use SIGWINCH to trigger priority change in user-space.
Date: Mon, 20 Oct 2008 20:57:09 +0200 [thread overview]
Message-ID: <48FCD485.2060606@domain.hid> (raw)
In-Reply-To: <48FC440E.90000@domain.hid>
Jan Kiszka wrote:
> Gilles Chanteperdrix wrote:
>> Gilles Chanteperdrix wrote:
>>> Philippe Gerum wrote:
>>>> Well, what about merging the solutions: trap the signal from the library
>>>> constructor by default for people relying on #1, AND document the shadow signal
>>>> handler for people who can do #2?
>>> For me, merging the two, would mean keep sigshadow_install called upon
>>> thread creation, but export xeno_sigwinch_handler to be callable from
>>> user signals.
>>>
>>> This way, if people install their signal handler before the first thread
>>> creation, they have nothing to worry about. If they install their signal
>>> handler at a later time, they have to take care of calling
>>> xeno_sigwinch_handler and look at its return value.
>> Jan, do you agree? The main argument is that people may use third-party
>> libraries such as, say, libreadline or libqt which intercept the
>> SIGWINCH signal, and that we do not want to recompile these libraries to
>> run with Xenomai.
>
> Yes, I'm fine with the current approach + doc + xeno_sigwinch_handler.
Ok. Since I am going to paste the doc in four different places, I'd
better get it right from the beginning. Here is my prose:
* @note: When creating or shadowing a Xenomai thread in user-space, for the
* first time, Xenomai installs a handler for the SIGWINCH signal. If you had
* installed a handler before that, it will be automatically called by Xenomai
* for SIGWINCH signals that it has not sent.
*
* If, however, you install a signal handler for SIGWINCH after creating
* or shadowing the first Xenomai thread, you have to explicitely call the
* function xeno_sigwinch_handler at the beginning of your signal handler,
* using its return to know if the signal was in fact an internal signal of
* Xenomai (in which case it returns 1), or if you should handle the signal (in
* which case it returns 0). xeno_sigwinch_handler prototype is:
*
* <b>int xeno_sigwinch_handler(int sig, siginfo_t *si, void *ctxt);</b>
*
* Which means that you should register your handler with sigaction, using the
* SA_SIGINFO flag, and pass all the arguments you received to
* xeno_sigwinch_handler.
--
Gilles.
next prev parent reply other threads:[~2008-10-20 18:57 UTC|newest]
Thread overview: 17+ messages / expand[flat|nested] mbox.gz Atom feed top
2008-10-18 14:22 [Xenomai-core] [PATCH 1/1] Use SIGWINCH to trigger priority change in user-space Gilles Chanteperdrix
2008-10-18 14:35 ` Gilles Chanteperdrix
2008-10-18 17:09 ` Philippe Gerum
2008-10-19 15:21 ` Gilles Chanteperdrix
2008-10-19 11:10 ` Jan Kiszka
2008-10-19 11:19 ` Gilles Chanteperdrix
2008-10-19 11:22 ` Jan Kiszka
2008-10-19 11:28 ` Gilles Chanteperdrix
2008-10-19 16:09 ` Philippe Gerum
2008-10-19 16:14 ` Philippe Gerum
2008-10-19 16:16 ` Gilles Chanteperdrix
2008-10-19 16:23 ` Gilles Chanteperdrix
2008-10-19 16:37 ` Philippe Gerum
2008-10-20 8:25 ` Gilles Chanteperdrix
2008-10-20 8:40 ` Jan Kiszka
2008-10-20 18:57 ` Gilles Chanteperdrix [this message]
2008-10-20 19:00 ` Jan Kiszka
Reply instructions:
You may reply publicly to this message via plain-text email
using any one of the following methods:
* Save the following mbox file, import it into your mail client,
and reply-to-all from there: mbox
Avoid top-posting and favor interleaved quoting:
https://en.wikipedia.org/wiki/Posting_style#Interleaved_style
* Reply using the --to, --cc, and --in-reply-to
switches of git-send-email(1):
git send-email \
--in-reply-to=48FCD485.2060606@domain.hid \
--to=gilles.chanteperdrix@xenomai.org \
--cc=Xenomai-core@domain.hid \
--cc=jan.kiszka@domain.hid \
/path/to/YOUR_REPLY
https://kernel.org/pub/software/scm/git/docs/git-send-email.html
* If your mail client supports setting the In-Reply-To header
via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line
before the message body.
This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.