added 'nowreading(lu)'. DLW
[unix-history] / usr / src / usr.bin / tip / hunt.c
CommitLineData
60d5f7dd
BJ
1/* hunt.c 4.1 81/05/09 */
2#include "tip.h"
3
4#define RD 04
5
6extern char *getremote();
7extern char *rindex();
8
9int deadfl;
10
11dead()
12{
13 deadfl = 1;
14}
15
16hunt(name)
17char *name;
18{
19 register char *cp;
20
21 deadfl = 0;
22 signal(SIGALRM, dead);
23 while(cp = getremote(name)){
24 if (access(cp, RD))
25 continue;
26 uucplock = rindex(cp, '/')+1;
27 if (mlock(uucplock) < 0) {
28 delock(uucplock);
29 continue;
30 }
31 alarm(10);
32 if((FD = open(cp, 2)) >= 0){
33 alarm(0);
34 if(deadfl)
35 continue;
36 ioctl(FD, TIOCEXCL, 0);
37 break;
38 }
39 alarm(0);
40 signal(SIGALRM, dead);
41 }
42 alarm(0);
43 signal(SIGALRM, SIG_DFL);
44 if(deadfl)
45 return(-1);
46 return((int)cp);
47}