All of lore.kernel.org
 help / color / mirror / Atom feed
From: "Doug Brunner" <dbrunner@domain.hid>
To: Philippe Gerum <rpm@xenomai.org>
Cc: xenomai@xenomai.org
Subject: Re: [Xenomai-help] Intermixing native and POSIX skins
Date: Thu, 15 Mar 2012 09:30:45 -0700 (PDT)	[thread overview]
Message-ID: <1331829045.814121867@domain.hid> (raw)
In-Reply-To: <4F5E51E2.1020802@domain.hid>

Thanks Philippe. I hadn't even known about the existence of the RTIPC driver, and I definitely like the idea.

I've been experimenting with it a bit today, and found that it seems to be allowed for more than two sockets to connect to the same port. I modified iddp-sendrecv.c to have two client processes, both of which now connect to the same port as the server, then did the same thing with iddp-label.c (two clients both connect()ing to the same label).

This would cause havoc with the communications that go on between my processes--they need a one-to-one channel. I could implement semaphores to enforce this, but it would be nice to avoid that complication. Is there a way to make it happen using just the socket interface?

    Doug Brunner

-----Original Message-----
From: "Philippe Gerum" <rpm@xenomai.orgnomai.org>
Sent: Monday, March 12, 2012 12:43pm
To: "Doug Brunner" <dbrunner@domain.hid>
Cc: xenomai@xenomai.org: Re: [Xenomai-help] Intermixing native and POSIX skins

On 03/12/2012 08:12 PM, Doug Brunner wrote:
> I'd like to be able to use native skin communications services (most importantly real time pipes) from a thread created with the POSIX skin. Is this safe?

Yes, that's fine. You could also use the XDDP protocol (cross-domain 
datagram) implemented by the RTIPC Xenomai driver for exactly the same 
purpose, with a socket-based interface as a bonus.

>
> I'm doing this because I'm building a C++ library that can use either real-time communications services, when used with a real-time application, or regular Linux pipe I/O, when used with a Linux application; these services are called by tasks that need to exist in both cases. I'd like to make the tasks always POSIX threads to eliminate the need for a bunch of wrappers and preprocessor ugliness that I put there to support either skin, depending on which version of the library is being built.
>
> Thanks,
>      Doug Brunner
>
>
>
> _______________________________________________
> Xenomai-help mailing list
> Xenomai-help@domain.hid> https://mail.gna.org/listinfo/xenomai-help
>


-- 
Philippe.




  reply	other threads:[~2012-03-15 16:30 UTC|newest]

Thread overview: 10+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2012-03-12 19:12 [Xenomai-help] Intermixing native and POSIX skins Doug Brunner
2012-03-12 19:43 ` Philippe Gerum
2012-03-15 16:30   ` Doug Brunner [this message]
2012-03-16 18:29     ` Philippe Gerum
2012-03-26 16:14       ` Doug Brunner
2012-03-27 16:26         ` Philippe Gerum
2012-03-27 21:35           ` Doug Brunner
2012-04-02 15:50             ` Philippe Gerum
2012-03-28  5:39 ` [Xenomai-core] [PATCH] Mask signals in rt_print:printer_loop() Paul Janzen
2012-03-28 13:35   ` Gilles Chanteperdrix

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=1331829045.814121867@domain.hid \
    --to=dbrunner@domain.hid \
    --cc=rpm@xenomai.org \
    --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.