|
|
1.1 ! root 1: /* rtsapselect.c - RTPM: map descriptors */ ! 2: ! 3: #ifndef lint ! 4: static char *rcsid = "$Header: /f/osi/rtsap/RCS/rtsapselect.c,v 6.0 89/03/18 23:43:31 mrose Rel $"; ! 5: #endif ! 6: ! 7: /* ! 8: * $Header: /f/osi/rtsap/RCS/rtsapselect.c,v 6.0 89/03/18 23:43:31 mrose Rel $ ! 9: * ! 10: * ! 11: * $Log: rtsapselect.c,v $ ! 12: * Revision 6.0 89/03/18 23:43:31 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: /* map association descriptors for select() */ ! 35: ! 36: int RtSelectMask (sd, mask, nfds, rti) ! 37: int sd; ! 38: fd_set *mask; ! 39: int *nfds; ! 40: struct RtSAPindication *rti; ! 41: { ! 42: SBV smask; ! 43: int result; ! 44: register struct assocblk *acb; ! 45: ! 46: missingP (mask); ! 47: missingP (nfds); ! 48: missingP (rti); ! 49: ! 50: smask = sigioblock (); ! 51: ! 52: rtsapPsig (acb, sd); ! 53: ! 54: if (acb -> acb_flags & ACB_PLEASE) { ! 55: (void) sigiomask (smask); ! 56: ! 57: return rtsaplose (rti, RTS_WAITING, NULLCP, NULLCP); ! 58: } ! 59: ! 60: result = (*acb -> acb_rtselectmask) (acb, mask, nfds, rti); ! 61: ! 62: (void) sigiomask (smask); ! 63: ! 64: return result; ! 65: }
This archive runs on limited infrastructure. Preserving old code on modern bandwidth. Automated agents are requested to crawl responsibly.