--- libaitrpc/src/srv.c 2012/11/19 10:29:02 1.12.2.5 +++ libaitrpc/src/srv.c 2012/11/19 12:43:21 1.12.2.6 @@ -3,7 +3,7 @@ * by Michael Pounov * * $Author: misho $ -* $Id: srv.c,v 1.12.2.5 2012/11/19 10:29:02 misho Exp $ +* $Id: srv.c,v 1.12.2.6 2012/11/19 12:43:21 misho Exp $ * ************************************************************************** The ELWIX and AITNET software is distributed under the following @@ -855,10 +855,12 @@ rpc_srv_loopBLOBServer(rpc_srv_t * __restrict srv) return -1; } - if (listen(srv->srv_blob.server.cli_sock, io_arraySize(srv->srv_blob.clients)) == -1) { - LOGERR; - return -1; - } + if (srv->srv_proto == SOCK_STREAM) + if (listen(srv->srv_blob.server.cli_sock, + io_arraySize(srv->srv_blob.clients)) == -1) { + LOGERR; + return -1; + } if (!schedRead(srv->srv_blob.root, acceptBLOBClients, srv, srv->srv_blob.server.cli_sock, NULL, 0)) { @@ -924,12 +926,12 @@ rpc_srv_initServer(u_int regProgID, u_char regProcID, rpc_SetErr(EINVAL, "Invalid parameters can`t init RPC server"); return NULL; } - if (!proto) - proto = SOCK_STREAM; if (!io_gethostbyname(csHost, Port, &sa)) return NULL; if (!Port) Port = RPC_DEFPORT; + if (!proto) + proto = SOCK_STREAM; if (netBuf < RPC_MIN_BUFSIZ) netBuf = BUFSIZ; else