Print this page
3772 consider raising default descriptor soft limit


  86         struct svc_callout *sc_next;
  87         rpcprog_t           sc_prog;
  88         rpcvers_t           sc_vers;
  89         char               *sc_netid;
  90         void                (*sc_dispatch)();
  91 } *svc_head;
  92 extern rwlock_t svc_lock;
  93 
  94 static struct svc_callout *svc_find();
  95 int _svc_prog_dispatch();
  96 void svc_getreq_common();
  97 char *strdup();
  98 
  99 extern mutex_t  svc_door_mutex;
 100 extern cond_t   svc_door_waitcv;
 101 extern int      svc_ndoorfds;
 102 extern SVCXPRT_LIST *_svc_xprtlist;
 103 extern mutex_t xprtlist_lock;
 104 extern void __svc_rm_from_xlist();
 105 

 106 extern fd_set _new_svc_fdset;

 107 
 108 /*
 109  * If the allocated array of reactor is too small, this value is used as a
 110  * margin. This reduces the number of allocations.
 111  */
 112 #define USER_FD_INCREMENT 5
 113 
 114 static void add_pollfd(int fd, short events);
 115 static void remove_pollfd(int fd);
 116 static void __svc_remove_input_of_fd(int fd);
 117 
 118 /*
 119  * Data used to handle reactor:
 120  *      - one file descriptor we listen to,
 121  *      - one callback we call if the fd pops,
 122  *      - and a cookie passed as a parameter to the callback.
 123  *
 124  * The structure is an array indexed on the file descriptor. Each entry is
 125  * pointing to the first element of a double-linked list of callback.
 126  * only one callback may be associated to a couple (fd, event).




  86         struct svc_callout *sc_next;
  87         rpcprog_t           sc_prog;
  88         rpcvers_t           sc_vers;
  89         char               *sc_netid;
  90         void                (*sc_dispatch)();
  91 } *svc_head;
  92 extern rwlock_t svc_lock;
  93 
  94 static struct svc_callout *svc_find();
  95 int _svc_prog_dispatch();
  96 void svc_getreq_common();
  97 char *strdup();
  98 
  99 extern mutex_t  svc_door_mutex;
 100 extern cond_t   svc_door_waitcv;
 101 extern int      svc_ndoorfds;
 102 extern SVCXPRT_LIST *_svc_xprtlist;
 103 extern mutex_t xprtlist_lock;
 104 extern void __svc_rm_from_xlist();
 105 
 106 #if !defined(_LP64)
 107 extern fd_set _new_svc_fdset;
 108 #endif
 109 
 110 /*
 111  * If the allocated array of reactor is too small, this value is used as a
 112  * margin. This reduces the number of allocations.
 113  */
 114 #define USER_FD_INCREMENT 5
 115 
 116 static void add_pollfd(int fd, short events);
 117 static void remove_pollfd(int fd);
 118 static void __svc_remove_input_of_fd(int fd);
 119 
 120 /*
 121  * Data used to handle reactor:
 122  *      - one file descriptor we listen to,
 123  *      - one callback we call if the fd pops,
 124  *      - and a cookie passed as a parameter to the callback.
 125  *
 126  * The structure is an array indexed on the file descriptor. Each entry is
 127  * pointing to the first element of a double-linked list of callback.
 128  * only one callback may be associated to a couple (fd, event).