# 2.11BSD#431 - /usr/src/usr.bin/tip/hunt.c

##### Functions

    dead              X
    hunt              X

       1: /*
       2:  * Copyright (c) 1983 Regents of the University of California.
       3:  * All rights reserved.  The Berkeley software License Agreement
       4:  * specifies the terms and conditions for redistribution.
       5:  */
       6:
       7: #ifndef lint
       8: static char sccsid[] = "@(#)hunt.c	5.2 (Berkeley) 4/23/87";
       9: #endif not lint
      10:
      11: #include "tip.h"
      12:
      13: extern char *getremote();
      14: extern char *rindex();
      15:
      16: static  jmp_buf deadline;
      17: static  int deadfl;
      18:
      19: dead()
      20: {
      21:
      22:     deadfl = 1;
      23:     longjmp(deadline, 1);
      24: }
      25:
      26: hunt(name)
      27:     char *name;
      28: {
      29:     register char *cp;
      30:     int (*f)();
      31:
      32:     f = signal(SIGALRM, dead);
      33:     while (cp = getremote(name)) {
      34:         deadfl = 0;
      35:         uucplock = rindex(cp, '/')+1;
      36:         if (mlock(uucplock) < 0) {
      37:             delock(uucplock);
      38:             continue;
      39:         }
      40:         /*
      41: 		 * Straight through call units, such as the BIZCOMP,
      42: 		 * VADIC and the DF, must indicate they're hardwired in
      43: 		 *  order to get an open file descriptor placed in FD.
      44: 		 * Otherwise, as for a DN-11, the open will have to
      45: 		 *  be done in the "open" routine.
      46: 		 */
      47:         if (!HW)
      48:             break;
      49:         if (setjmp(deadline) == 0) {
      50:             alarm(10);
      51:             FD = open(cp, O_RDWR);
      52:         }
      53:         alarm(0);
      54:         if (FD < 0) {
      55:             perror(cp);
      56:             deadfl = 1;
      57:         }
      58:         if (!deadfl) {
      59:             ioctl(FD, TIOCEXCL, 0);
      60:             ioctl(FD, TIOCHPCL, 0);
      61:             signal(SIGALRM, SIG_DFL);
      62:             return ((int)cp);
      63:         }
      64:         delock(uucplock);
      65:     }
      66:     signal(SIGALRM, f);
      67:     return (deadfl ? -1 : (int)cp);
      68: }

#### Defined functions

dead defined in line 19; used 1 times

- in line 32

hunt defined in line 26; used 2 times

- in /usr/src/usr.bin/tip/cu.c line 81
- in /usr/src/usr.bin/tip/tip.c line 114

#### Defined variables

deadfl defined in line 17; used 5 times

- in line 22, 34, 56-58(2), 67

deadline defined in line 16; used 2 times

- in line 23, 49

sccsid defined in line 8; never used

Last modified: 1988-04-19 Generated: 2016-12-26 | Generated by src2html V0.67 page hit count: 1132 |