Handles remote procedure call (RPC) service requests on a given file descriptor.
Network Services Library (libnsl.a)
The svc_getreq_common subroutine is used to handle the RPC service request on a specified file descriptor. You can use the subroutine after calling the poll or select subroutine. The svc_getreq_common subroutine is generally used when a server wants to handle RPC service requests asynchronously (the svc_run subroutine is not used).
| Item | Description | 
|---|---|
| fd | Specifies a file descriptor on which the RPC service request arrives. | 
#include <stdlib.h>
#include <rpc/rpc.h>
#include <poll.h>
void my_svc_getreq_poll(struct pollfd * poll_fd, int retval)
{
    int  i;
    int   ds;
    for (i = fds = 0; fds < retval; i++) {
                
        /* for all file descriptors check if input is pending
        and handle the request on that file descriptor */
        svc_getreq_common(pll_fd[i]);
    } 
}
main()
{
    int no_of_fds;
    int i;
    struct pollfd pollfd_set[1024];
    /* Register RPC Service */
           
    /* serve client's requests asynchronously */
    while(1)
    {
        /* initialize the pollfd_set array and 
        get no of file descriptors in "no_of_fds"*/
        /* Keep polling on file descriptors */ 
        switch (i = poll(pollfd_set, no_of_fds, -1))
        {
             case -1:
             case  0:
             continue;
             default:   
             /* Handle RPC request on each file descriptor */
             my_svc_getreq_poll(pollfd_set, i);
        }
    }
}