The svc_run routine calls the select routine to wait for RPC requests. When a request arrives, svc_run calls the svc_getreqset routine. Then svc_run calls the select routine again. The svc_run routine never returns. You may use the global variable svc_fdset with the svc_run routine. See the svc_getreqset routine for more information about svc_fdset.