From 430a5dd799cb57e3e12afe5021843e0584e3d064 Mon Sep 17 00:00:00 2001 From: Jeff Hill Date: Tue, 26 Nov 1991 15:36:38 +0000 Subject: [PATCH] MACRO becomes subroutine --- src/ca/service.c | 37 +++++++++++++++++++++++++++++++++++-- 1 file changed, 35 insertions(+), 2 deletions(-) diff --git a/src/ca/service.c b/src/ca/service.c index ac3edd541..86d54a179 100644 --- a/src/ca/service.c +++ b/src/ca/service.c @@ -26,6 +26,8 @@ /* client after reboot go away */ /* 072391 joh added event locking for vxWorks */ /* 100391 joh added missing ntohs() for the VAX */ +/* 111991 joh converted MACRO in iocinf.h to cac_io_done() */ +/* here */ /* */ /*_begin */ /************************************************************************/ @@ -299,7 +301,7 @@ post_msg(hdrptr, pbufcnt, pnet_addr, piiu) if (t_cmmd != IOC_READ_BUILD || (chan->connection_func == NULL && chan->state == cs_never_conn)) - CLRPENDRECV; + CLRPENDRECV(TRUE); break; } @@ -641,9 +643,40 @@ struct in_addr *pnet_addr; } else if(chan->state==cs_never_conn){ /* decrement the outstanding IO count */ - CLRPENDRECV; + CLRPENDRECV(TRUE); } chan->state = cs_conn; } + +/* + * + * cas_io_done() + * + * + */ +void +cac_io_done(lock) +int lock; +{ + register struct pending_io_event *pioe; + + if(ioeventlist.count==0) + return; + + if(lock){ + LOCK; + } + + while(pioe = (struct pending_io_event *) lstGet(&ioeventlist)){ + (*pioe->io_done_sub)(pioe->io_done_arg); + if(free(pioe)<0) + abort(); + } + + if(lock){ + UNLOCK; + } +} +