|
|
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.