The OS can't do it because the virtual file system in the OS is just managing a set of function pointers that gets execution control down into the file system that controls the open file -- in this case LiS. So LiS has to do it.
It should not be too difficult to fix.
Thanks especially for the errno values that other operating systems use.
-- Dave
At 01:12 PM 10/1/2003 Wednesday, Ragnar Paulson wrote:
Seeing as STREAMS pre-dates threads ... I don't know that this possibility has been defined in the API or even in SVID (isn't that the reference we all go back to?).
SCO suggests an error of EIO if getmsg() is called on a file descriptor that is in the process of closing. It's not clear what happens if the file descriptor is closed while getmsg is waiting ... before threads closing a file descriptor someone else is using wasn't possible and is not defined. It may well be that the results are OS specific and vary from OS to OS.
Fundamentally though ... isn't it an OS problem, not an LiS problem? What does Linux do in a thread if you close any file that another thread is reading?
I think either EIO or EBADF on the reader is a valid return ... but I think the OS should do it.
Ragnar
_______________________________________________ Linux-streams mailing list [EMAIL PROTECTED] http://gsyc.escet.urjc.es/mailman/listinfo/linux-streams
