|
|
1.1 root 1: /* inline.h 4.1 11/9/80 */
2: /*
3: * Definitions of inlines for FASTVAX, and macro replacements
4: * for them if not FASTVAX (latter only scantily tested).
5: */
6:
7: #ifdef FASTVAX
8:
9: #define plock(ip) \
10: { \
11: while ((ip)->i_flag & ILOCK) { \
12: (ip)->i_flag |= IWANT; \
13: sleep((caddr_t)(ip), PINOD); \
14: } \
15: (ip)->i_flag |= ILOCK; \
16: }
17:
18: #define prele(ip) \
19: { \
20: (ip)->i_flag &= ~ILOCK; \
21: if ((ip)->i_flag&IWANT) { \
22: (ip)->i_flag &= ~IWANT; \
23: wakeup((caddr_t)(ip)); \
24: } \
25: }
26:
27: #define GETF(fp, fd) { \
28: if ((unsigned)(fd) >= NOFILE || ((fp) = u.u_ofile[fd]) == NULL) { \
29: u.u_error = EBADF; \
30: return; \
31: } \
32: }
33:
34: #define IUPDAT(ip, t1, t2, waitfor) { \
35: if (ip->i_flag&(IUPD|IACC|ICHG)) \
36: iupdat(ip, t1, t2, waitfor); \
37: }
38: #define ISSIG(p) ((p)->p_sig && \
39: ((p)->p_flag&STRC || ((p)->p_sig &~ (p)->p_ignsig)) && issig())
40: #else
41:
42: #define GETF(fp, fd) { \
43: (fp) = getf(fd); \
44: if ((fp) == NULL) \
45: return; \
46: }
47:
48: #define IUPDAT(ip, t1, t2, waitfor) iupdat(ip, t1, t2, waitfor)
49:
50: #define ISSIG(p) issig(p)
51: #endif
This archive runs on limited infrastructure. Preserving old code on modern bandwidth. Automated agents are requested to crawl responsibly.