|
|
| version 1.2.2.4, 2011/07/14 01:52:48 | version 1.3, 2011/08/18 15:08:03 |
|---|---|
| Line 55 rpc_srv_dispatchCall(void *arg) | Line 55 rpc_srv_dispatchCall(void *arg) |
| rpc_func_t *f = NULL; | rpc_func_t *f = NULL; |
| struct tagRPCCall *rpc; | struct tagRPCCall *rpc; |
| struct tagRPCRet *rrpc; | struct tagRPCRet *rrpc; |
| rpc_sess_t ses = { 0 }; | |
| fd_set fds; | fd_set fds; |
| u_char buf[BUFSIZ], *data; | u_char buf[BUFSIZ], *data; |
| int ret, argc = 0, Limit = 0; | int ret, argc = 0, Limit = 0; |
| Line 147 rpc_srv_dispatchCall(void *arg) | Line 148 rpc_srv_dispatchCall(void *arg) |
| argc = 0; | argc = 0; |
| vals = NULL; | vals = NULL; |
| memcpy(&ses, &rpc->call_session, sizeof ses); | |
| if (!(f = rpc_srv_getCall(s, rpc->call_tag, rpc->call_hash))) { | if (!(f = rpc_srv_getCall(s, rpc->call_tag, rpc->call_hash))) { |
| rpc_SetErr(EINVAL, "Error:: call not found into RPC server ...\n"); | rpc_SetErr(EINVAL, "Error:: call not found into RPC server ...\n"); |
| ret = -6; | ret = -6; |
| Line 155 rpc_srv_dispatchCall(void *arg) | Line 157 rpc_srv_dispatchCall(void *arg) |
| ret = -9; | ret = -9; |
| else | else |
| argc = rpc_srv_getValsCall(f, &vals); | argc = rpc_srv_getValsCall(f, &vals); |
| makeReply: | makeReply: |
| memset(buf, 0, BUFSIZ); | memset(buf, 0, BUFSIZ); |
| rrpc = (struct tagRPCRet*) buf; | rrpc = (struct tagRPCRet*) buf; |
| Limit = sizeof(struct tagRPCRet); | Limit = sizeof(struct tagRPCRet); |
| memcpy(&rrpc->ret_session, &rpc->call_session, sizeof rrpc->ret_session); | memcpy(&rrpc->ret_session, &ses, sizeof(rpc_sess_t)); |
| rrpc->ret_tag = rpc->call_tag; | rrpc->ret_tag = rpc->call_tag; |
| rrpc->ret_hash = rpc->call_hash; | rrpc->ret_hash = rpc->call_hash; |
| rrpc->ret_errno = rpc_Errno; | rrpc->ret_errno = rpc_Errno; |