- if (t < 0) {
- printf("dn11 write error\n");
- connected = 0;
- goto error;
- }
- alarm(40); /* was 5; sometimes missed carrier */
- FD = open(DV, 2);
- alarm(0);
- if (FD < 0) {
- if (errno == 4)
- printf("lost carrier\n");
- connected = 0;
- goto error;
- }
- ioctl(FD, TIOCEXCL, 0);
- ioctl(FD, TIOCHPCL, 0);
-error:
- kill(child, SIGKILL);
- alarm(10);
- while ((t = wait((int *)NULL)) != -1 && t != child)
+ ioctl(dn, TIOCHPCL, 0);
+ signal(SIGALRM, SIG_DFL);
+ while ((nw = wait(<)) != child && nw != -1)