|
|
| version 1.7.2.1, 2012/03/28 01:17:09 | version 1.7.2.2, 2012/03/28 13:37:13 |
|---|---|
| Line 593 rpc_srv_endBLOBServer(rpc_srv_t * __restrict srv) | Line 593 rpc_srv_endBLOBServer(rpc_srv_t * __restrict srv) |
| ioTRACE(RPC_TRACE_LEVEL); | ioTRACE(RPC_TRACE_LEVEL); |
| if (!srv) { | if (!srv || srv->srv_blob.state == disable) |
| rpc_SetErr(EINVAL, "Can`t destroy server because parameter is null!"); | |
| return; | return; |
| } else | else |
| srv->srv_blob.state = kill; | srv->srv_blob.state = kill; |
| rpc_srv_unregisterCall(srv, NULL, CALL_BLOBSHUTDOWN); | rpc_srv_unregisterCall(srv, NULL, CALL_BLOBSHUTDOWN); |
| Line 628 rpc_srv_endBLOBServer(rpc_srv_t * __restrict srv) | Line 627 rpc_srv_endBLOBServer(rpc_srv_t * __restrict srv) |
| while (pthread_mutex_trylock(&srv->srv_blob.mtx) == EBUSY); | while (pthread_mutex_trylock(&srv->srv_blob.mtx) == EBUSY); |
| pthread_mutex_destroy(&srv->srv_blob.mtx); | pthread_mutex_destroy(&srv->srv_blob.mtx); |
| /* at final, save disable BLOB service state */ | |
| srv->srv_blob.state = disable; | |
| } | } |
| /* | /* |
| Line 845 rpc_srv_initServer(u_int regProgID, u_int regProcID, i | Line 847 rpc_srv_initServer(u_int regProgID, u_int regProcID, i |
| rpc_srv_registerCall(srv, NULL, CALL_SRVCLIENTS, 1); | rpc_srv_registerCall(srv, NULL, CALL_SRVCLIENTS, 1); |
| rpc_srv_registerCall(srv, NULL, CALL_SRVSESSIONS, 4); | rpc_srv_registerCall(srv, NULL, CALL_SRVSESSIONS, 4); |
| rpc_srv_registerCall(srv, NULL, CALL_SRVCALLS, 1); | rpc_srv_registerCall(srv, NULL, CALL_SRVCALLS, 1); |
| return srv; | return srv; |
| } | } |