free outstanding get/put cb requests when the IOC disconnects

This commit is contained in:
Jeff Hill
1995-04-06 16:47:41 +00:00
parent a90bdf0098
commit 50be068a02

View File

@@ -585,7 +585,7 @@ void notify_ca_repeater()
* and we are just porting there for 3.12 so
* we will use the new protocol for 3.12
*/
# ifdef SOLARIS
# ifdef SOLARIS
len = sizeof(msg);
# else /* SOLARIS */
len = 0;
@@ -733,11 +733,6 @@ LOCAL void cac_tcp_send_msg_piiu(struct ioc_in_use *piiu)
* return if nothing to send
*/
if(sendCnt == 0){
# ifdef DEBUG
if (piiu->sendPending) {
printf ("-Unblocked-\n");
}
# endif /* DEBUG */
piiu->sendPending = FALSE;
piiu->send_needed = FALSE;
UNLOCK;
@@ -873,9 +868,7 @@ void ca_process_input_queue()
UNLOCK;
#if 0
cac_flush_internal();
#endif
}
@@ -1233,6 +1226,16 @@ void close_ioc (struct ioc_in_use *piiu)
ca_signal (ECA_DISCONN,piiu->host_name_str);
}
/*
* clear outstanding get call backs
*/
caIOBlockListFree (&pend_read_list, chix, TRUE, ECA_DISCONN);
/*
* clear outstanding put call backs
*/
caIOBlockListFree (&pend_write_list, chix, TRUE, ECA_DISCONN);
/*
* call their connection handler as required
*/