version 1.16, 2010/06/29 20:09:39 |
version 1.17, 2010/07/01 21:28:01 |
|
|
|
|
if (setjmp(deadline) == 0) { |
if (setjmp(deadline) == 0) { |
alarm(10); |
alarm(10); |
FD = open(cp, (O_RDWR | |
FD = open(cp, O_RDWR | (vgetnum(DC) ? O_NONBLOCK : 0)); |
(boolean(value(DC)) ? O_NONBLOCK : 0))); |
|
} |
} |
alarm(0); |
alarm(0); |
if (FD < 0) { |
if (FD < 0) { |
|
|
struct termios cntrl; |
struct termios cntrl; |
|
|
tcgetattr(FD, &cntrl); |
tcgetattr(FD, &cntrl); |
if (!boolean(value(DC))) |
if (!vgetnum(DC)) |
cntrl.c_cflag |= HUPCL; |
cntrl.c_cflag |= HUPCL; |
tcsetattr(FD, TCSAFLUSH, &cntrl); |
tcsetattr(FD, TCSAFLUSH, &cntrl); |
ioctl(FD, TIOCEXCL, 0); |
ioctl(FD, TIOCEXCL, 0); |