Diff for /libaitrpc/inc/aitrpc.h between versions 1.8.2.17 and 1.8.2.18

version 1.8.2.17, 2012/05/17 08:42:32 version 1.8.2.18, 2012/05/17 09:32:51
Line 198  typedef struct { Line 198  typedef struct {
         rpc_sess_t                      srv_session;    /* RPC session registration info */          rpc_sess_t                      srv_session;    /* RPC session registration info */
         int                             srv_netbuf;     /* size of network buffer */          int                             srv_netbuf;     /* size of network buffer */
   
           pthread_t                       srv_tid;        /* RPC exec pthread */
         sched_root_task_t               *srv_root;      /* RPC server scheduler */          sched_root_task_t               *srv_root;      /* RPC server scheduler */
         intptr_t                        srv_kill;       /* Scheduler condition variable */          intptr_t                        srv_kill;       /* Scheduler condition variable */
   
Line 207  typedef struct { Line 208  typedef struct {
         TAILQ_HEAD(, tagRPCFunc)        srv_funcs;      /* RPC functions list */          TAILQ_HEAD(, tagRPCFunc)        srv_funcs;      /* RPC functions list */
   
         struct {          struct {
                   pthread_t                       tid;            /* BLOB exec pthread */
                 sched_root_task_t               *root;          /* BLOB server scheduler */                  sched_root_task_t               *root;          /* BLOB server scheduler */
                 intptr_t                        kill;           /* BLOB server state: ==0 disable | !=0 enable */                  intptr_t                        kill;           /* BLOB server state: ==0 disable | !=0 enable */
   
Line 310  void rpc_srv_endServer(rpc_srv_t ** __restrict psrv); Line 312  void rpc_srv_endServer(rpc_srv_t ** __restrict psrv);
  * return: -1 error or 0 ok, infinite loop ...   * return: -1 error or 0 ok, infinite loop ...
  */   */
 int rpc_srv_loopServer(rpc_srv_t * __restrict srv);  int rpc_srv_loopServer(rpc_srv_t * __restrict srv);
#define rpc_srv_execServer(_srv, _sync) do { assert((_srv)); pthread_t __tid; \#define rpc_srv_execServer(_srv, _sync) do { assert((_srv)); \
                                                 if (!(_srv)->srv_kill) { \                                                  if (!(_srv)->srv_kill) { \
                                                        pthread_create(&__tid, NULL, (void*(*)(void*)) \                                                        pthread_create(&(_srv)->srv_tid, NULL, (void*(*)(void*)) \
                                                                         rpc_srv_loopServer, (_srv)); \                                                                          rpc_srv_loopServer, (_srv)); \
                                                         if ((_sync)) \                                                          if ((_sync)) \
                                                                pthread_join(__tid, (void**) (_sync)); \                                                                pthread_join((_srv)->srv_tid, (void**) (_sync)); \
                                                         else \                                                          else \
                                                                pthread_detach(__tid); \                                                                pthread_detach((_srv)->srv_tid); \
                                                 } } while (0)                                                  } } while (0)
   
 /*  /*
Line 343  void rpc_srv_endBLOBServer(rpc_srv_t * __restrict srv) Line 345  void rpc_srv_endBLOBServer(rpc_srv_t * __restrict srv)
  * return: -1 error or 0 ok, infinite loop ...   * return: -1 error or 0 ok, infinite loop ...
  */   */
 int rpc_srv_loopBLOBServer(rpc_srv_t * __restrict srv);  int rpc_srv_loopBLOBServer(rpc_srv_t * __restrict srv);
#define rpc_srv_execBLOBServer(_srv)    do { assert((_srv)); pthread_t __tid; \#define rpc_srv_execBLOBServer(_srv)    do { assert((_srv)); \
                                                 if (!(_srv)->srv_kill && !(_srv)->srv_blob.kill) { \                                                  if (!(_srv)->srv_kill && !(_srv)->srv_blob.kill) { \
                                                        pthread_create(&__tid, NULL, (void*(*)(void*)) \                                                        pthread_create(&(_srv)->srv_blob.tid, NULL, \
                                                                         (void*(*)(void*)) \
                                                                         rpc_srv_loopBLOBServer, (_srv)); \                                                                          rpc_srv_loopBLOBServer, (_srv)); \
                                                        pthread_detach(__tid); \                                                        pthread_detach((_srv)->srv_blob.tid); \
                                                 } \                                                  } \
                                         } while (0)                                          } while (0)
   

Removed from v.1.8.2.17  
changed lines
  Added in v.1.8.2.18


FreeBSD-CVSweb <freebsd-cvsweb@FreeBSD.org>