|
|
1.1 root 1: /* rtsapwait.c - RTPM: wait for an indication */
2:
3: #ifndef lint
4: static char *rcsid = "$Header: /f/osi/rtsap/RCS/rtsapwait.c,v 6.0 89/03/18 23:43:34 mrose Rel $";
5: #endif
6:
7: /*
8: * $Header: /f/osi/rtsap/RCS/rtsapwait.c,v 6.0 89/03/18 23:43:34 mrose Rel $
9: *
10: *
11: * $Log: rtsapwait.c,v $
12: * Revision 6.0 89/03/18 23:43:34 mrose
13: * Release 5.0
14: *
15: */
16:
17: /*
18: * NOTICE
19: *
20: * Acquisition, use, and distribution of this module and related
21: * materials are subject to the restrictions of a license agreement.
22: * Consult the Preface in the User's Manual for the full terms of
23: * this agreement.
24: *
25: */
26:
27:
28: /* LINTLIBRARY */
29:
30: #include <stdio.h>
31: #include <signal.h>
32: #include "rtpkt.h"
33:
34: /* RT-WAIT.REQUEST (pseudo) */
35:
36: int RtWaitRequest (sd, secs, rti)
37: int sd;
38: int secs;
39: struct RtSAPindication *rti;
40: {
41: SBV smask;
42: int result;
43: register struct assocblk *acb;
44:
45: missingP (rti);
46:
47: smask = sigioblock ();
48:
49: rtsapPsig (acb, sd);
50:
51: result = RtWaitRequestAux (acb, secs, 0, rti);
52:
53: (void) sigiomask (smask);
54:
55: return result;
56: }
57:
58: /* */
59:
60: int RtWaitRequestAux (acb, secs, trans, rti)
61: register struct assocblk *acb;
62: int secs,
63: trans;
64: register struct RtSAPindication *rti;
65: {
66: if (!trans && (acb -> acb_flags & ACB_PLEASE)) {
67: acb -> acb_flags &= ~ACB_PLEASE;
68:
69: rti -> rti_type = RTI_TURN;
70: {
71: register struct RtSAPturn *rtu = &rti -> rti_turn;
72:
73: rtu -> rtu_please = 1;
74: rtu -> rtu_priority = acb -> acb_priority;
75: }
76:
77: return DONE;
78: }
79:
80: return (*acb -> acb_rtwaitrequest) (acb, secs, trans, rti);
81: }
This archive runs on limited infrastructure. Preserving old code on modern bandwidth. Automated agents are requested to crawl responsibly.