The saCkptDispatch routine can get into a tight loop if a callback is
undefined (NULL). If callback is NULL, we should simply break out of
the switch statement rather than continue.
Thanks to Christine for finding this problem.
Ryan
Index: ckpt.c
===================================================================
--- ckpt.c (revision 2097)
+++ ckpt.c (working copy)
@@ -365,7 +365,7 @@
switch (dispatch_data->id) {
case MESSAGE_RES_CKPT_CHECKPOINT_CHECKPOINTOPENASYNC:
if (callbacks.saCkptCheckpointOpenCallback == NULL) {
- continue;
+ break;
}
res_lib_ckpt_checkpointopenasync = (struct
res_lib_ckpt_checkpointopenasync *) dispatch_data;
@@ -409,7 +409,7 @@
case MESSAGE_RES_CKPT_CHECKPOINT_CHECKPOINTSYNCHRONIZEASYNC:
if (callbacks.saCkptCheckpointSynchronizeCallback ==
NULL) {
- continue;
+ break;
}
res_lib_ckpt_checkpointsynchronizeasync = (struct
res_lib_ckpt_checkpointsynchronizeasync *) dispatch_data;
_______________________________________________
Openais mailing list
[email protected]
https://lists.linux-foundation.org/mailman/listinfo/openais