Просмотр исходного кода

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 лет назад
Родитель
Сommit
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;
 	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, 
 	saHandleInstancePut(&evt_instance_handle_db, 
 					eci->eci_instance_handle);
 					eci->eci_instance_handle);