How do I make a FIFO PhAB?

Hi. I develope the Diagnosis Electrocardiograph.
I use a PhAB and Watcom C as develop tools.
I have two processes.
First process is that I receive data from DMA and it stored in a buffer.
Second process is that the DMA data is drawing in base window in PhAB.
So, I transfer data from a first process to a second process by FIFO.
I use a functions, i.e. mkfifo(),open() and write() and so on.
but when the first process is excuted ,and then I excutes a second process.
other process,i.e. button press process, is not excuted in PhAB.
so, If the FIFO method is suppored in PhAB, Please teach me about a FIFO
method used in PhAB…
It is very very important problem.

Thak you very much.

JinSoolLee <lhjs1@milab.yonsei.ac.kr> wrote:
: Hi. I develope the Diagnosis Electrocardiograph.
: I use a PhAB and Watcom C as develop tools.
: I have two processes.
: First process is that I receive data from DMA and it stored in a buffer.
: Second process is that the DMA data is drawing in base window in PhAB.
: So, I transfer data from a first process to a second process by FIFO.
: I use a functions, i.e. mkfifo(),open() and write() and so on.
: but when the first process is excuted ,and then I excutes a second process.
: other process,i.e. button press process, is not excuted in PhAB.
: so, If the FIFO method is suppored in PhAB, Please teach me about a FIFO
: method used in PhAB…

You need to set up a “file-descriptor handler” in your PhAB application.
If your PhAB application just waits for data to come from the FIFO, it
doesn’t process Photon events, so button presses (and updates to the screen)
won’t happen.

An FD handler is connected to the main loop function, so your program is
able to read from the FIFO and process Photon events correctly.

You should read the Interprocess Communication and Lengthy Operations
chapter of the Photon Programmer’s Guide. The section called “Other I/O
Mechanisms” discusses FIFOs, but the section “Receiving QNX messages”
will help you to understand how IPC works with Photon.

I hope this helps.


Steve Reid stever@qnx.com
TechPubs (Technical Publications)
QNX Software Systems