defect 709

if synchronize async called, but no callback set, error not returned


git-svn-id: http://svn.fedorahosted.org/svn/corosync/trunk@747 fd59a12c-fef9-0310-b244-a6a79926bd2f
This commit is contained in:
Steven Dake 2005-07-13 20:09:11 +00:00
parent 566e0e4b7e
commit f9e2657a9a

View File

@ -1634,6 +1634,7 @@ saCkptCheckpointSynchronizeAsync (
SaInvocationT invocation)
{
SaAisErrorT error;
struct ckptInstance *ckptInstance;
struct ckptCheckpointInstance *ckptCheckpointInstance;
struct req_lib_ckpt_checkpointsynchronizeasync req_lib_ckpt_checkpointsynchronizeasync;
struct res_lib_ckpt_checkpointsynchronizeasync res_lib_ckpt_checkpointsynchronizeasync;
@ -1649,6 +1650,20 @@ saCkptCheckpointSynchronizeAsync (
goto error_put;
}
error = saHandleInstanceGet (&ckptHandleDatabase, ckptCheckpointInstance->ckptHandle,
(void *)&ckptInstance);
if (error != SA_AIS_OK) {
goto error_put;
}
if (ckptInstance->callbacks.saCkptCheckpointSynchronizeCallback == NULL) {
saHandleInstancePut (&ckptHandleDatabase, ckptCheckpointInstance->ckptHandle);
error = SA_AIS_ERR_INIT;
goto error_put;
}
saHandleInstancePut (&ckptHandleDatabase, ckptCheckpointInstance->ckptHandle);
req_lib_ckpt_checkpointsynchronizeasync.header.size = sizeof (struct req_lib_ckpt_checkpointsynchronizeasync);
req_lib_ckpt_checkpointsynchronizeasync.header.id = MESSAGE_REQ_CKPT_CHECKPOINT_CHECKPOINTSYNCHRONIZEASYNC;
memcpy (&req_lib_ckpt_checkpointsynchronizeasync.checkpointName,