Hi,
attached are proposed solution to *dispatch* functions, which returns
CS_ERR_BAD_HANDLE (AIS_ERR_BAD_HANDLE (9)).
David, can you please test them, and give results?
Anyway, this patches helps to SAF test, to pass CLM, EVT 100% and helps
checkpoint to get one more point, so from my point of view, it's good to
merge that, even if that doesn't help David.
Regards,
Honza
diff --git a/trunk/lib/amf.c b/trunk/lib/amf.c
index 898f675..e7e8ffb 100644
--- a/trunk/lib/amf.c
+++ b/trunk/lib/amf.c
@@ -204,6 +204,10 @@ saAmfDispatch (
amfInstance->handle,
(void **)&dispatch_data,
timeout);
+ if (error == CS_ERR_BAD_HANDLE) {
+ error = CS_OK;
+ goto error_put;
+ }
if (error != CS_OK) {
goto error_put;
}
diff --git a/trunk/lib/ckpt.c b/trunk/lib/ckpt.c
index c7ebabe..57e0051 100644
--- a/trunk/lib/ckpt.c
+++ b/trunk/lib/ckpt.c
@@ -334,6 +334,10 @@ saCkptDispatch (
ckptInstance->handle,
(void **)&dispatch_data,
timeout);
+ if (error == CS_ERR_BAD_HANDLE) {
+ error = CS_OK;
+ goto error_put;
+ }
if (error != CS_OK) {
goto error_put;
}
diff --git a/trunk/lib/clm.c b/trunk/lib/clm.c
index b1382f2..00294c4 100644
--- a/trunk/lib/clm.c
+++ b/trunk/lib/clm.c
@@ -290,6 +290,10 @@ saClmDispatch (
clmInstance->ipc_handle,
(void **)&dispatch_data,
timeout);
+ if (error == CS_ERR_BAD_HANDLE) {
+ error = CS_OK;
+ goto error_put;
+ }
if (error != CS_OK) {
goto error_put;
}
diff --git a/trunk/lib/evt.c b/trunk/lib/evt.c
index 1b8d037..18ac814 100644
--- a/trunk/lib/evt.c
+++ b/trunk/lib/evt.c
@@ -598,6 +598,10 @@ saEvtDispatch(
evti->ipc_handle,
(void **)&dispatch_data,
timeout);
+ if (error == CS_ERR_BAD_HANDLE) {
+ error = CS_OK;
+ goto error_put;
+ }
if (error != CS_OK) {
goto error_put;
}
diff --git a/trunk/lib/lck.c b/trunk/lib/lck.c
index cd80014..3488c7d 100644
--- a/trunk/lib/lck.c
+++ b/trunk/lib/lck.c
@@ -332,6 +332,10 @@ saLckDispatch (
lckInstance->ipc_handle,
(void **)&dispatch_data,
timeout);
+ if (error == CS_ERR_BAD_HANDLE) {
+ error = CS_OK;
+ goto error_put;
+ }
if (error != CS_OK) {
goto error_put;
}
diff --git a/trunk/lib/msg.c b/trunk/lib/msg.c
index 1c20119..689ffbc 100644
--- a/trunk/lib/msg.c
+++ b/trunk/lib/msg.c
@@ -254,6 +257,9 @@ saMsgDispatch (
msgInstance->ipc_handle,
(void **)&dispatch_data,
timeout);
+ if (error == CS_ERR_BAD_HANDLE) {
+ return (CS_OK);
+ }
if (error != CS_OK) {
goto error_put;
}
diff --git a/trunk/lib/tmr.c b/trunk/lib/tmr.c
index 9b7d1f6..ad10215 100644
--- a/trunk/lib/tmr.c
+++ b/trunk/lib/tmr.c
@@ -211,6 +211,10 @@ saTmrDispatch (
tmrInstance->ipc_handle,
(void **)&dispatch_data,
timeout);
+ if (error == CS_ERR_BAD_HANDLE) {
+ error = CS_OK;
+ goto error_put;
+ }
if (error != CS_OK) {
goto error_put;
}
diff --git a/trunk/lib/cfg.c b/trunk/lib/cfg.c
index 4cd0c92..4b8e9b0 100644
--- a/trunk/lib/cfg.c
+++ b/trunk/lib/cfg.c
@@ -175,6 +175,10 @@ corosync_cfg_dispatch (
cfg_instance->handle,
(void **)&dispatch_data,
timeout);
+ if (error == CS_ERR_BAD_HANDLE) {
+ error = CS_OK;
+ goto error_put;
+ }
if (error != CS_OK) {
goto error_put;
}
diff --git a/trunk/lib/confdb.c b/trunk/lib/confdb.c
index f35469f..8f0c2ec 100644
--- a/trunk/lib/confdb.c
+++ b/trunk/lib/confdb.c
@@ -307,6 +307,10 @@ cs_error_t confdb_dispatch (
confdb_inst->handle,
(void **)&dispatch_data,
timeout);
+ if (error == CS_ERR_BAD_HANDLE) {
+ error = CS_OK;
+ goto error_put;
+ }
if (error != CS_OK) {
goto error_put;
}
diff --git a/trunk/lib/cpg.c b/trunk/lib/cpg.c
index 05a81b0..ef3f648 100644
--- a/trunk/lib/cpg.c
+++ b/trunk/lib/cpg.c
@@ -241,6 +241,10 @@ cs_error_t cpg_dispatch (
cpg_inst->handle,
(void **)&dispatch_data,
timeout);
+ if (error == CS_ERR_BAD_HANDLE) {
+ error = CS_OK;
+ goto error_put;
+ }
if (error != CS_OK) {
goto error_put;
}
diff --git a/trunk/lib/evs.c b/trunk/lib/evs.c
index 4c8d321..4713e40 100644
--- a/trunk/lib/evs.c
+++ b/trunk/lib/evs.c
@@ -210,6 +210,10 @@ evs_error_t evs_dispatch (
evs_inst->handle,
(void **)&dispatch_data,
timeout);
+ if (error == CS_ERR_BAD_HANDLE) {
+ error = CS_OK;
+ goto error_put;
+ }
if (error != CS_OK) {
goto error_put;
}
diff --git a/trunk/lib/quorum.c b/trunk/lib/quorum.c
index 8f6028b..3e0c6a3 100644
--- a/trunk/lib/quorum.c
+++ b/trunk/lib/quorum.c
@@ -358,6 +358,10 @@ cs_error_t quorum_dispatch (
quorum_inst->handle,
(void **)&dispatch_data,
timeout);
+ if (error == CS_ERR_BAD_HANDLE) {
+ error = CS_OK;
+ goto error_put;
+ }
if (error != CS_OK) {
goto error_put;
}
diff --git a/trunk/lib/votequorum.c b/trunk/lib/votequorum.c
index f76395a..38fc85d 100644
--- a/trunk/lib/votequorum.c
+++ b/trunk/lib/votequorum.c
@@ -712,6 +712,10 @@ cs_error_t votequorum_dispatch (
votequorum_inst->handle,
(void **)&dispatch_data,
timeout);
+ if (error == CS_ERR_BAD_HANDLE) {
+ error = CS_OK;
+ goto error_put;
+ }
if (error != CS_OK) {
goto error_put;
}
_______________________________________________
Openais mailing list
[email protected]
https://lists.linux-foundation.org/mailman/listinfo/openais