diff options
Diffstat (limited to 'rpc/rpc-lib/src/rpc-clnt.c')
| -rw-r--r-- | rpc/rpc-lib/src/rpc-clnt.c | 7 | 
1 files changed, 5 insertions, 2 deletions
diff --git a/rpc/rpc-lib/src/rpc-clnt.c b/rpc/rpc-lib/src/rpc-clnt.c index ae746251177..5bd8480bdcb 100644 --- a/rpc/rpc-lib/src/rpc-clnt.c +++ b/rpc/rpc-lib/src/rpc-clnt.c @@ -737,7 +737,8 @@ rpc_clnt_handle_cbk (struct rpc_clnt *clnt, rpc_transport_pollin_t *msg)          if (found && (procnum < program->numactors) &&              (program->actors[procnum].actor)) { -                program->actors[procnum].actor (&progmsg); +                program->actors[procnum].actor (clnt, program->mydata, +                                                &progmsg);          }  out: @@ -1321,7 +1322,7 @@ out:  int  rpcclnt_cbk_program_register (struct rpc_clnt *clnt, -                              rpcclnt_cb_program_t *program) +                              rpcclnt_cb_program_t *program, void *mydata)  {          int                   ret                = -1;          char                  already_registered = 0; @@ -1361,6 +1362,8 @@ rpcclnt_cbk_program_register (struct rpc_clnt *clnt,          memcpy (tmp, program, sizeof (*tmp));          INIT_LIST_HEAD (&tmp->program); +        tmp->mydata = mydata; +          pthread_mutex_lock (&clnt->lock);          {                  list_add_tail (&tmp->program, &clnt->programs);  | 
