Fixed bug: have to always close CCS socket, even if user doesn't
authorOrion Lawlor <olawlor@acm.org>
Wed, 4 Sep 2002 23:47:15 +0000 (23:47 +0000)
committerOrion Lawlor <olawlor@acm.org>
Wed, 4 Sep 2002 23:47:15 +0000 (23:47 +0000)
care about return message.

src/conv-ccs/ccs-client.c
src/conv-ccs/ccs-client.h

index 927ce4fd32349b0d20687afff39f1f55ca97a7d6..5c34b71fa26fba675d8c1aa699fd24d4394eda9b 100644 (file)
@@ -232,6 +232,8 @@ int CcsSendRequestWithTimeout(CcsServer *svr, const char *hdlrID, int pe, unsign
   hdr.pe=ChMessageInt_new(pe);
   strncpy(hdr.handler,hdlrID,CCS_HANDLERLEN);
 
+  if (svr->replyFd!=-1) skt_close(svr->replyFd); /*We'll never ask for reply*/
+
   /*Connect to conv-host, and send the message */
   svr->replyFd=skt_connect(svr->hostIP, svr->hostPort,timeout);
   if (svr->replyFd==-1) return -1;
@@ -319,6 +321,10 @@ int CcsProbe(CcsServer *svr)
 {
   return skt_select1(svr->replyFd,0);
 }
+int CcsProbeTimeout(CcsServer *svr,int timeoutMs)
+{
+  return skt_select1(svr->replyFd,timeoutMs);
+}
 
 void CcsFinalize(CcsServer *svr)
 {
index f25cb1c03bb71420565192bc08831c7c3c10009e..9beab491e7d645c5c2a7209b6f8518c64eff458f 100644 (file)
@@ -64,6 +64,7 @@ int CcsNumPes(CcsServer *svr);
 int CcsNodeFirst(CcsServer *svr, int node);
 int CcsNodeSize(CcsServer *svr,int node);
 int CcsProbe(CcsServer *svr);
+int CcsProbeTimeout(CcsServer *svr,int timeoutMs);
 void CcsFinalize(CcsServer *svr);
 
 #ifdef __cplusplus