Path: utzoo!attcan!uunet!lanai!ron From: ron@Eyring.COM (Ron Holt) Newsgroups: comp.realtime Subject: Real-time Unix read()s? Message-ID: <1990Nov19.161402.7646@Eyring.COM> Date: 19 Nov 90 16:14:02 GMT Organization: Eyring, Inc. Lines: 30 It has been mentioned to me that Arix provides a alternative read() call that can improve performance for real-time applications. If I recall correctly, the system call looks like this: n = rread(int fd, char **buf, int nbytes) In other words, the OS returns a POINTER to the buffer that the OS (not the user) selected into which the data is put. The idea is that by letting the OS tell the user where it already has the data, a data copy can be avoided. I believe there is also a rfree() call to free this buffer. I have several questions about this interface: Can anyone verify if my information is correct? Can you tell me more about this interface? A summary from the man pages perhaps? Is there a counterpart to this scheme for write()? How much does this help application performance? Does anybody have actual performance figures? What are the drawbacks to using this approach? Thanks. -- Ron Holt ron@Eyring.COM uunet!lanai!ron Eyring Inc. +1 801-375-2434 x434