12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758596061626364656667686970 |
- #define __FORCE_GLIBC__
- #include <features.h>
- #include <rpc/rpc.h>
- #include <sys/errno.h>
- void svc_run()
- {
- #ifdef FD_SETSIZE
- fd_set readfds;
- #else
- int readfds;
- #endif
- extern int errno;
- for (;;) {
- #ifdef FD_SETSIZE
- readfds = svc_fdset;
- #else
- readfds = svc_fds;
- #endif
- switch (select(_rpc_dtablesize(), &readfds, (int *) 0, (int *) 0,
- (struct timeval *) 0)) {
- case -1:
- if (errno == EINTR) {
- continue;
- }
- perror("svc_run: - select failed");
- return;
- case 0:
- continue;
- default:
- svc_getreqset(&readfds);
- }
- }
- }
|