On Mon, Nov 05, 2007 at 04:10:35PM -0500, Alan Stern wrote: > On Mon, 5 Nov 2007, Andrew Greensted wrote: > > > Hi All, > > > > I've written a custom device driver based on the usb-skeleton.c file in > > the kernel source. > > > > I want the driver to act in a similar way to when you read from a serial > > port. ie, when you do this: > > > > cat /dev/ttyS0 > > > > it will wait for data to appear on the port and output to the terminal. > > It doesn't timeout, or close the connection when no data is available. > > In my case the data source is an IN endpoint from a custom usb board. > > > > The problem is how do I stop cat (or any other program) closing the > > connection when the read function timesout (the condition when no data > > is yet available). > > > > I've tried checking to see if the return value from usb_bulk_msg is > > ETIMEDOUT and returning 0 (no bytes read) from my read function rather > > than the error, but cat still exits.
If you return "0" on the timeout, standard unix interfaces define this as end-of-file. So cat is correct in interpreting this as EOF and exiting. In your driver, you should NOT return if you get the ETIMEDOUT return, and simply call usb_bulk_msg again. This is entirely acceptable. You will find that doing something about signals is worth the trouble. Roger. -- ** [EMAIL PROTECTED] ** http://www.BitWizard.nl/ ** +31-15-2600998 ** ** Delftechpark 26 2628 XH Delft, The Netherlands. KVK: 27239233 ** *-- BitWizard writes Linux device drivers for any device you may have! --* Q: It doesn't work. A: Look buddy, doesn't work is an ambiguous statement. Does it sit on the couch all day? Is it unemployed? Please be specific! Define 'it' and what it isn't doing. --------- Adapted from lxrbot FAQ ------------------------------------------------------------------------- This SF.net email is sponsored by: Splunk Inc. Still grepping through log files to find problems? Stop. Now Search log events and configuration files using AJAX and a browser. Download your FREE copy of Splunk now >> http://get.splunk.com/ _______________________________________________ Linux-usb-users@lists.sourceforge.net To unsubscribe, use the last form field at: https://lists.sourceforge.net/lists/listinfo/linux-usb-users