All of lore.kernel.org
 help / color / mirror / Atom feed
From: Jan Kiszka <jan.kiszka@domain.hid>
To: Kent Borg <kentborg@domain.hid>
Cc: xenomai@xenomai.org
Subject: Re: [Xenomai-help] Signals
Date: Wed, 25 Jan 2006 21:20:28 +0100	[thread overview]
Message-ID: <43D7DD8C.60306@domain.hid> (raw)
In-Reply-To: <20060118162407.A28495@domain.hid>

[-- Attachment #1: Type: text/plain, Size: 1520 bytes --]

Kent Borg wrote:
> Thanks for the news that gdb should just work.
> 
> Now I am wondering about signals.  I want to be able to send a regular
> Linux signal to a userland realtime process.  Do I use the regular
> signal() to install a signal handler?  When would I use
> rt_task_catch() and rt_task_notify()?

Those function are - in contrast to what to doc states - not yet
available in userspace. So far Xenomai is lacking the infrastructure to
deliver hard-RT signals to userspace threads, only the Linux signals are
passed as usual.

> 
> What about multiple threads?  I have 2 threads running.  It seems that
> the thread that called signal() is the one landing in the handler
> routine.  I would like to set some flags for the second thread to see,
> so it can cleanup things before quiting, but it seems that my second
> thread isn't running after I send the signal.  I also think I am
> corrupting something, because if I set up a loop that launches and
> kills my program, my machine freezes up after a dozen cycles.  I
> commented out most of my guts and it still freezes up.

Signals in multithreaded applications are tricky in general, even
without Xenomai. You may try to play with pthread_kill and
pthread_sigmask to control which thread receives a specific signal.

When the signal receiver is a Xenomai thread, the usual things happen:
blocking on RT-resources is cleared, the thread is migrated to secondary
mode, and the signal handler is invoked as one expects.

Jan


[-- Attachment #2: OpenPGP digital signature --]
[-- Type: application/pgp-signature, Size: 252 bytes --]

  reply	other threads:[~2006-01-25 20:20 UTC|newest]

Thread overview: 4+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2006-01-18 21:24 [Xenomai-help] Signals Kent Borg
2006-01-25 20:20 ` Jan Kiszka [this message]
2006-01-25 21:24   ` Kent Borg
2006-01-25 22:31     ` 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=43D7DD8C.60306@domain.hid \
    --to=jan.kiszka@domain.hid \
    --cc=kentborg@domain.hid \
    --cc=xenomai@xenomai.org \
    /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.