|
|
| version 1.6.2.11, 2012/03/15 01:32:21 | version 1.7.2.1, 2012/03/28 01:17:09 |
|---|---|
| Line 114 execCall(sched_task_t *task) | Line 114 execCall(sched_task_t *task) |
| ioTRACE(RPC_TRACE_LEVEL); | ioTRACE(RPC_TRACE_LEVEL); |
| /* Go decapsulate variables ... */ | /* Go decapsulate variables ... */ |
| if (!(rpc->call_req.flags & RPC_NOREPLY) && argc) { | if (argc) { |
| arr = io_buffer2vars(buf + sizeof(struct tagRPCCall), | arr = io_buffer2vars(buf + sizeof(struct tagRPCCall), |
| TASK_DATLEN(task) - sizeof(struct tagRPCCall), argc, 1); | TASK_DATLEN(task) - sizeof(struct tagRPCCall), argc, 1); |
| if (!arr) { | if (!arr) { |
| Line 135 execCall(sched_task_t *task) | Line 135 execCall(sched_task_t *task) |
| ioDEBUG(RPC_DEBUG_LEVEL, "RPC function %s from module %s", | ioDEBUG(RPC_DEBUG_LEVEL, "RPC function %s from module %s", |
| AIT_GET_STR(&f->func_name), AIT_GET_LIKE(&f->func_file, char*)); | AIT_GET_STR(&f->func_name), AIT_GET_LIKE(&f->func_file, char*)); |
| /* if client doesn't want reply */ | |
| argc = rpc->call_req.flags & RPC_NOREPLY; | |
| rpc->call_rep.ret = RPC_ERROR(rpc_srv_execCall(f, rpc, arr)); | rpc->call_rep.ret = RPC_ERROR(rpc_srv_execCall(f, rpc, arr)); |
| if (rpc->call_rep.ret == htonl(-1)) { | if (rpc->call_rep.ret == htonl(-1)) { |
| rpc->call_rep.eno = RPC_ERROR(errno); | rpc->call_rep.eno = RPC_ERROR(errno); |
| rpc->call_argc ^= rpc->call_argc; | rpc->call_argc ^= rpc->call_argc; |
| } else { | } else { |
| rpc->call_rep.eno ^= rpc->call_rep.eno; | rpc->call_rep.eno ^= rpc->call_rep.eno; |
| rpc->call_argc = htons(rpc_srv_getVars(f, NULL)); | if (argc) { |
| /* without reply */ | |
| io_clrVars(f->func_vars); | |
| rpc->call_argc ^= rpc->call_argc; | |
| } else | |
| rpc->call_argc = htons(rpc_srv_getVars(f, NULL)); | |
| } | } |
| } | } |
| Line 312 rxBLOB(sched_task_t *task) | Line 319 rxBLOB(sched_task_t *task) |
| ioTRACE(RPC_TRACE_LEVEL); | ioTRACE(RPC_TRACE_LEVEL); |
| /* check for disable service at this moment? */ | /* check for disable service at this moment? */ |
| if (s->srv_blob.state == disable) { | if (!s || s->srv_blob.state == disable) { |
| usleep(100000); | usleep(100000); |
| #ifdef HAVE_PTHREAD_YIELD | #ifdef HAVE_PTHREAD_YIELD |
| pthread_yield(); | pthread_yield(); |