slcanpty: detect that master PTY descriptor closed
Terminate slcanpty when the pty file descriptor is closed instead of performing an endless loop in the select() statement. Reported-by: Janusz Uzycki <j.uzycki@elproma.com.pl> Signed-off-by: Janusz Uzycki <j.uzycki@elproma.com.pl> Signed-off-by: Oliver Hartkopp <socketcan@hartkopp.net>pull/1/head
parent
df76977207
commit
704d5f22d1
|
|
@ -75,8 +75,11 @@ int pty2can(int pty, int socket, struct can_filter *fi,
|
|||
int tmp, i;
|
||||
|
||||
nbytes = read(pty, &buf, sizeof(buf)-1);
|
||||
if (nbytes < 0) {
|
||||
if (nbytes <= 0) {
|
||||
/* nbytes == 0 : no error but pty decriptor has been closed */
|
||||
if (nbytes < 0)
|
||||
perror("read pty");
|
||||
|
||||
return 1;
|
||||
}
|
||||
|
||||
|
|
|
|||
Loading…
Reference in New Issue