Diff for /libaitrpc/src/srv.c between versions 1.9.2.6 and 1.9.2.9

version 1.9.2.6, 2012/05/15 20:49:25 version 1.9.2.9, 2012/05/16 07:24:08
Line 75  txPacket(sched_task_t *task) Line 75  txPacket(sched_task_t *task)
         u_char buf[USHRT_MAX] = { 0 };          u_char buf[USHRT_MAX] = { 0 };
         struct tagRPCCall *rpc = (struct tagRPCCall*) buf;          struct tagRPCCall *rpc = (struct tagRPCCall*) buf;
         int ret, wlen = sizeof(struct tagRPCCall);          int ret, wlen = sizeof(struct tagRPCCall);
         array_t *arr = NULL;  
   
         /* copy RPC header */          /* copy RPC header */
         memcpy(buf, TASK_DATA(task), wlen);          memcpy(buf, TASK_DATA(task), wlen);
Line 87  txPacket(sched_task_t *task) Line 86  txPacket(sched_task_t *task)
                         rpc->call_rep.ret = RPC_ERROR(-1);                          rpc->call_rep.ret = RPC_ERROR(-1);
                         rpc->call_rep.eno = RPC_ERROR(rpc_Errno);                          rpc->call_rep.eno = RPC_ERROR(rpc_Errno);
                 } else {                  } else {
                        rpc->call_argc = htons(rpc_srv_getVars(f, &arr));                        rpc->call_argc = htons(io_arraySize(f->func_vars));
                         /* Go Encapsulate variables */                          /* Go Encapsulate variables */
                        ret = io_vars2buffer(buf + wlen, sizeof buf - wlen, arr);                        ret = io_vars2buffer(buf + wlen, sizeof buf - wlen, f->func_vars);
                         /* Free return values */                          /* Free return values */
                         io_clrVars(f->func_vars);                          io_clrVars(f->func_vars);
                         if (ret == -1) {                          if (ret == -1) {
Line 141  execCall(sched_task_t *task) Line 140  execCall(sched_task_t *task)
                         rpc->call_rep.eno = RPC_ERROR(rpc_Errno);                          rpc->call_rep.eno = RPC_ERROR(rpc_Errno);
                         return NULL;                          return NULL;
                 }                  }
        }        } else
                 arr = NULL;
   
         if (!(f = rpc_srv_getCall(s, ntohs(rpc->call_tag)))) {          if (!(f = rpc_srv_getCall(s, ntohs(rpc->call_tag)))) {
                 rpc_SetErr(EPROGUNAVAIL, "Function not found at RPC server");                  rpc_SetErr(EPROGUNAVAIL, "Function not found at RPC server");
Line 161  execCall(sched_task_t *task) Line 161  execCall(sched_task_t *task)
                                 /* without reply */                                  /* without reply */
                                 io_clrVars(f->func_vars);                                  io_clrVars(f->func_vars);
                                 rpc->call_argc ^= rpc->call_argc;                                  rpc->call_argc ^= rpc->call_argc;
                        } else                        } else {
                                rpc->call_argc = htons(rpc_srv_getVars(f, NULL));                                /* reply */
                                 rpc->call_argc = htons(io_arraySize(f->func_vars));
                         }
                 }                  }
         }          }
   
Line 562  rpc_srv_initBLOBServer(rpc_srv_t * __restrict srv, u_s Line 564  rpc_srv_initBLOBServer(rpc_srv_t * __restrict srv, u_s
                 return -1;                  return -1;
         } else          } else
                 memset(srv->srv_blob.clients, 0, srv->srv_numcli * sizeof(rpc_cli_t));                  memset(srv->srv_blob.clients, 0, srv->srv_numcli * sizeof(rpc_cli_t));
   
         rpc_srv_registerCall(srv, NULL, CALL_BLOBSHUTDOWN, 0);  
         rpc_srv_registerCall(srv, NULL, CALL_BLOBCLIENTS, 1);  
         rpc_srv_registerCall(srv, NULL, CALL_BLOBVARS, 1);  
         rpc_srv_registerCall(srv, NULL, CALL_BLOBSTATE, 0);  
   
         srv->srv_blob.state = enable;   /* enable BLOB */          srv->srv_blob.state = enable;   /* enable BLOB */
         return 0;          return 0;

Removed from v.1.9.2.6  
changed lines
  Added in v.1.9.2.9


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