Allan Smith(deleted)
|
Strange issue with iochar_io_funcs.write calls
|
Allan Smith(deleted)
03/19/2009 2:30 PM
post24828
|
Strange issue with iochar_io_funcs.write calls
I have a resource manager that needs to intercept the io_write calls only to check to see if the hardware is working and
if not to return an error.
If it is ok it goes on to call the io_write from the io_char library.
What I am seeing is that occasionally io_write is returning ESRCH status.
I have traced it down to the call to resmgr_msgreadv() in the io_write code and the explanation for this function is
that:
"The thread indicated by ctp -> rcvid doesn't exist or has had its connection detached. "
I am not doing anything with this parameter and it is verbatim passed on from the system call to my io_write routine.
Also if I take my code out and don't override the iochar_io_funcs.write function with mine I don't get this error. (I
override it by setting iochar_io_funcs.write = my_io_write function)
The symptoms with a program are that write or select calls sometimes return with the ESRCH error or "no such process".
I have looked at the values for the rcvid member for failed and working calls and they are the same.
I am using QNX 6.3.2 to test and compile.
So I am stumped as to what is causing this.
Does anyone have any ideas?
|
|
|