Преглед изворни кода

Fix for bug 825.
SaEvtChannelClose needed to handle SA_AIS_ERR_TRY_AGAIN so that the
eci_closing would be cleared before returning.



git-svn-id: http://svn.fedorahosted.org/svn/corosync/trunk@800 fd59a12c-fef9-0310-b244-a6a79926bd2f

Mark Haverkamp пре 20 година
родитељ
комит
4cfd52c8ed
1 измењених фајлова са 6 додато и 0 уклоњено
  1. 6 0
      lib/evt.c

+ 6 - 0
lib/evt.c

@@ -1051,6 +1051,12 @@ saEvtChannelClose(SaEvtChannelHandleT channelHandle)
 	}
 
 	error = res.icc_head.error;
+	if (error == SA_AIS_ERR_TRY_AGAIN) {
+		pthread_mutex_lock(&eci->eci_mutex);
+		eci->eci_closing = 0;
+		pthread_mutex_unlock(&eci->eci_mutex);
+		goto chan_close_put2;
+	}
 
 	saHandleInstancePut(&evt_instance_handle_db, 
 					eci->eci_instance_handle);