Re: XFree86/QNX SerialRead blocking change
Frank Liu <[email protected]> Mon, 25 Mar 2002 18:18:17 -0500 (EST)
| Newsgroups | gmane.os.qnx.openqnx.devel |
|---|---|
| Message-ID | <[email protected]> |
Here is an reply from a guy from MetroLink, who donated that code. Hope it's helpful. Frank Date: Mon, 25 Mar 2002 18:01:11 -0500 (EST) From: Chris Bare <[email protected]> Reply-To: [email protected] To: [email protected] Subject: Re: xf-4.2, event blocking When MetroLink donated that code, the XInput drivers we also donated were designed to operate with the port opened in blocking mode. If you use non-blocking, the server can chew up a lot of unnecessary CPU cycles waiting for the incredibly slow serial input. I recommend that he look at the implementation of the elo driver. It could be that the VMIN and VTIME settings are not correct. VMIN is the minimum number of bytes that must be recieved by the kernel before the calling process will return from a read. If VMIN is set too large for the protocol you are using it could cause this type of problem. I wouldn't recommend making this change for all OS's, as this code has been in use for quite a while and I'm not aware of similar complaints on Linux etc. Perhaps it's a QNX thing, but I'd be more suspicious of the driver. The original code we donated also supported a config file option to set non blocking. That would have been an easy work around, but that feature has been removed.