Inter-process comms - which method?

Discussion in 'C++' started by Steve T, Aug 21, 2005.

  1. Steve T

    Steve T Guest

    Hi,

    I am developing some software in C++ to access a PMC card in a PC. The PMC
    card comes with a set of C++ libs to access it and to handle interrupts from
    it. I am therefore writing entirely in C++ at the application level and have
    no access to the device driver for the PMC.

    My design involves:
    - a single process running on the host machine to handle all DMAs from the
    PMC to the host.
    - a set of libraries that applications must link with in order access the
    DMA data received from the PMC.

    The DMAs handled by the single process transfer data for a number of host
    application processes that link with my libraries., ie. each block of DMA'd
    data is for one application. My DMA process must wake this application and
    let it know that data is available for it. These application processes must
    block while waiting for data to be made available to them by the DMA
    process. I do not want them to have to poll.

    My question is this. What is the best way for the DMA thread to communicate
    with my library code to inform the application process that data is
    available?

    The DMA thread will probably also have to tell the application (library
    code) where the data is, so more than just a signal is probably required.

    (I don't believe actually getting at the DMA data is a problem as I can
    implement it in a shared memory block, it's the handshake between the DMA
    process and library code that concerns me.)

    The final target is a Linux machine but the PMC libs are also available for
    Windows which is where I have started to develop it. Ideally I'd like a
    solution that fits both but it must work with Linux.

    Many thanks in advance.

    Steve

    ----
    Steven Townley
    Stockport, England
     
    Steve T, Aug 21, 2005
    #1
    1. Advertising

  2. This is off topic for comp.lang.c++.

    Steve T wrote:
    >
    > My question is this. What is the best way for the DMA thread to communicate
    > with my library code to inform the application process that data is
    > available?


    I would probably use somthing similar to the X server i.e. Unix domain
    sockets.
     
    Gianni Mariani, Aug 21, 2005
    #2
    1. Advertising

  3. Steve T

    Steve T Guest

    My apologies if this was off-topic. I was hoping there was perhaps a C++
    specific wrapper or library to handle this.

    Perhaps someone could recommend a better group then...?

    "Gianni Mariani" <> wrote in message
    news:...
    >
    > This is off topic for comp.lang.c++.
    >
    > Steve T wrote:
    >>
    >> My question is this. What is the best way for the DMA thread to
    >> communicate with my library code to inform the application process that
    >> data is available?

    >
    > I would probably use somthing similar to the X server i.e. Unix domain
    > sockets.
    >
     
    Steve T, Aug 21, 2005
    #3
    1. Advertising

Want to reply to this thread or ask your own question?

It takes just 2 minutes to sign up (and it's free!). Just click the sign up button to choose a username and then you can ask your own questions on the forum.
Similar Threads
  1. Tim McCoy

    single wire serial comms module

    Tim McCoy, Jun 12, 2005, in forum: VHDL
    Replies:
    5
    Views:
    1,188
    info_
    Jun 23, 2005
  2. Dave Brown

    Cross Platform Comms

    Dave Brown, Jul 8, 2005, in forum: Java
    Replies:
    10
    Views:
    766
    Thomas Weidenfeller
    Jul 18, 2005
  3. Andrew E
    Replies:
    1
    Views:
    367
  4. Fraggle69

    Firewire comms using Python?

    Fraggle69, Aug 27, 2006, in forum: Python
    Replies:
    4
    Views:
    470
    Tim Roberts
    Aug 30, 2006
  5. JamesHoward
    Replies:
    9
    Views:
    692
    Hendrik van Rooyen
    Jul 18, 2007
Loading...

Share This Page