All of lore.kernel.org
 help / color / mirror / Atom feed
From: Gilles Chanteperdrix <gilles.chanteperdrix@xenomai.org>
To: Jan Kiszka <jan.kiszka@domain.hid>
Cc: xenomai-core <xenomai@xenomai.org>
Subject: Re: [Xenomai-core] Re: POSIX include problem
Date: Thu, 16 Mar 2006 20:05:30 +0100	[thread overview]
Message-ID: <17433.46842.657384.406082@domain.hid> (raw)
In-Reply-To: <4419A7B0.6000003@domain.hid>

Jan Kiszka wrote:
 > Gilles Chanteperdrix wrote:
 > > Jan Kiszka wrote:
 > >  > Hi Gilles,
 > >  > 
 > >  > don't know yet what's going wrong, but the following demo code doesn't
 > >  > compile against the POSIX skin due to unresolved SIG_BLOCK:
 > >  > 
 > >  > #include <pthread.h>
 > >  > #include <signal.h>
 > >  > 
 > >  > int main()
 > >  > {
 > >  >         return SIG_BLOCK;
 > >  > }
 > >  > 
 > >  > Comment out the pthread include, and it will work again. Any ideas?
 > > 
 > > Fixed in revision 714
 > > 
 > 
 > Yep, thanks.
 > 
 > I found this while trying Thomas Gleixner's cyclic test over the POSIX
 > skin (http://www.tglx.de/projects/misc/cyclictest). After fixing a
 > rather ugly bug in his code (missing mlockall) I ran into a yet unknown
 > issue with the POSIX skin: the code just hangs when wrapped to Xenomai.
 > 
 > Compilation:
 > gcc -o cyclictest cyclictest.c <posix-cflags> <posix-ldflags>
 > 
 > Invocation:
 > cyclictest -n -p 99
 > 
 > Maybe its just real-time starvation (but the watchdog doesn't trigger,
 > and I do not see why it should starve), maybe its a crash (will try to
 > attach a serial console later). Anyway, it's an easy test case (and also
 > a nice tool), so you may want to have a look as well.

A second, better guess: the created thread is not a Xenomai realtime
thread, so never suspends (Xenomai calls return EPERM when not called
from a real-time thread) and hangs. Replacing sched_setscheduler with
pthread_setschedparam should solve this issue.

I would not be surprised if, with NPTL, sched_setscheduler had an effect
on the whole process, i.e. set the priority of all the threads in the
process.

-- 


					    Gilles Chanteperdrix.


  reply	other threads:[~2006-03-16 19:05 UTC|newest]

Thread overview: 6+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2006-03-16 12:25 [Xenomai-core] POSIX include problem Jan Kiszka
2006-03-16 15:08 ` [Xenomai-core] " Gilles Chanteperdrix
2006-03-16 16:00 ` Gilles Chanteperdrix
2006-03-16 18:00   ` Jan Kiszka
2006-03-16 19:05     ` Gilles Chanteperdrix [this message]
2006-03-17  1:26       ` 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=17433.46842.657384.406082@domain.hid \
    --to=gilles.chanteperdrix@xenomai.org \
    --cc=jan.kiszka@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.