I've got 2 programs, one Xenomai user space real time thread and one normal 
user space program.

My normal user space is trying to pass a structure to my real time program and 
failing.

my RT thread reads in a 1ms loop with:
err = rt_pipe_read(control_pipe,k,sizeof(control_t),TM_NONBLOCK);

my regular linux program writes a real time fifo with:

int fd = open(dev, O_WRONLY|O_SYNC);
err = write(fd,&c,sizeof(c));
if(err<=0)error(0,-err, "write failed  with %d",err);
close(fd);

The user space program succeeds (write returns no error and doesn't block), 
but the RT thread never see's the data, continually returning -EINTR.

Note that if I change the real time thread to TM_INFINITE it works, but blocks 
for course, which isn't what I want, since I only want to pull out data at 
the beginning of a constant loop.

Is this the correct behavior? 
Does read have to be set up and waiting for the data to recieve it?

thx,
NZG

_______________________________________________
Xenomai-help mailing list
[email protected]
https://mail.gna.org/listinfo/xenomai-help

Reply via email to