On Wed, Aug 5, 2015 at 3:56 PM, Greg KH <greg@xxxxxxxxx> wrote: > On Wed, Aug 05, 2015 at 11:05:56AM +0100, Laszlo Papp wrote: >> Hi, >> >> The code below reproduces the issue. The code is intentionally kept >> small, so it deliberately does not have error checking, et al. >> >> Now, my concern is that it blocks for the write operation if the cable >> is disconnected. This is not inline with the /dev/ttyS* operation, for >> instance. They would not block if I disconnected the serial cable. >> >> Is this a bug or feature? :-) If it turns out to be a feature, is it >> better to use O_NONBLOCK if one does not want to use pthreads, etc? >> >> #include <sys/types.h> >> #include <sys/stat.h> >> #include <fcntl.h> >> >> int main() >> { >> const char buf[] = "Hello World!\n"; >> int fd = open("/dev/ttyGS0", O_RDWR | O_NONBLOCK); > > This line discipline is very different from the "traditional" tty line > discipline, so it might not know anything about cable removals. > > good luck, > > greg k-h > -- Thank you for your prompt reply. Wow, I managed to mess it up in my original email! So, this code above made it working, but without O_NONBLOCK, it was not working. Using O_NONBLOCK is my current nasty workaround. As you are indicating it, this does not quite feel right, does it! I am not sure what the right thing would be to do in order to get write non-blocking for g_serial. I hope that someone with more knowledge about it than me could help out! Thank you in advance. > To unsubscribe from this list: send the line "unsubscribe linux-serial" in > the body of a message to majordomo@xxxxxxxxxxxxxxx > More majordomo info at http://vger.kernel.org/majordomo-info.html -- To unsubscribe from this list: send the line "unsubscribe linux-serial" in the body of a message to majordomo@xxxxxxxxxxxxxxx More majordomo info at http://vger.kernel.org/majordomo-info.html