All of lore.kernel.org
 help / color / mirror / Atom feed
* [Xenomai-core] Context-sharing semaphores
@ 2009-11-09 12:00 Remco den Breeje
  2009-11-09 13:06 ` Jan Kiszka
  2009-11-09 13:19 ` Gilles Chanteperdrix
  0 siblings, 2 replies; 10+ messages in thread
From: Remco den Breeje @ 2009-11-09 12:00 UTC (permalink / raw)
  To: xenomai

Hi all,

I'm having trouble trying to share a semaphore that is created in
user-space context with a rtdm-driver that runs in kernel-space. I was
hoping you could explain me what I'm doing wrong.

I'm using a posix-skin based user-space Xenomai application that runs
a loop which is triggered by a semaphore.
This semaphore is posted by a pthread that runs at a specific
frequency. However, I want to be able to synchronize this loop with an
external hardware trigger that is read out by a rtdm-driver. To do so,
I try to disable the semaphore-post in the user-mode pthread, and
re-use the existing semaphore in kernel-mode (the rtdm-driver).
Unfortunately, the rtdm-driver is not able to find the user-space
created semaphore.

I wrote a little test-program to explain the problem. If required, I
will post the complete test-program, but for now I will show some
code-snippets.

In the user-space application a semphore is created using the sem_open sys-call:

  clockSem = sem_open(SEMNAME, O_CREAT, 0, 0);

clockSem, which is a pointer to sem_t returns an address (!= SEM_FAILED).
With an ioctl-call I try to open the same semaphore in kernel-mode:

  sem_p = sem_open(SEMNAME, 0);

This fails. sem_p equals SEM_FAILED, and errno is set to 2 (ENOENT).

I'm runing Linux 2.6.29.4 x86 32bit, Xenomai 2.4.8, ipipe 2.4-01

Thanks,

Remco den Breeje


^ permalink raw reply	[flat|nested] 10+ messages in thread

end of thread, other threads:[~2009-11-09 15:41 UTC | newest]

Thread overview: 10+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2009-11-09 12:00 [Xenomai-core] Context-sharing semaphores Remco den Breeje
2009-11-09 13:06 ` Jan Kiszka
2009-11-09 14:22   ` Remco den Breeje
2009-11-09 14:23     ` Remco den Breeje
2009-11-09 14:46       ` Gilles Chanteperdrix
2009-11-09 14:49       ` Gilles Chanteperdrix
2009-11-09 15:20         ` Remco den Breeje
2009-11-09 15:41           ` Gilles Chanteperdrix
2009-11-09 14:25     ` Gilles Chanteperdrix
2009-11-09 13:19 ` Gilles Chanteperdrix

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.