---
trunk/services/msg.c | 36 ++++++++++++++++++++----------------
1 files changed, 20 insertions(+), 16 deletions(-)
diff --git a/trunk/services/msg.c b/trunk/services/msg.c
index cfbed22..dfcf4fa 100644
--- a/trunk/services/msg.c
+++ b/trunk/services/msg.c
@@ -2494,14 +2494,16 @@ static void message_handler_req_exec_msg_queueopen (
}
} else {
/* Test, if flags are same as creation flags*/
- if ((req_exec_msg_queueopen->create_attrs.creationFlags !=
queue->create_attrs.creationFlags) ||
- (memcmp (req_exec_msg_queueopen->create_attrs.size,
- queue->create_attrs.size,
- sizeof (queue->create_attrs.size)) != 0)) {
- /*Return error*/
- error = SA_AIS_ERR_EXIST;
+ if (req_exec_msg_queueopen->open_flags & SA_MSG_QUEUE_CREATE) {
+ if ((req_exec_msg_queueopen->create_attrs.creationFlags
!= queue->create_attrs.creationFlags) ||
+ (memcmp (req_exec_msg_queueopen->create_attrs.size,
+ queue->create_attrs.size,
+ sizeof (queue->create_attrs.size)) != 0)) {
+ /*Return error*/
+ error = SA_AIS_ERR_EXIST;
- goto error_exit;
+ goto error_exit;
+ }
}
}
@@ -2661,14 +2663,16 @@ static void message_handler_req_exec_msg_queueopenasync
(
}
} else {
/* Test, if flags are same as creation flags*/
- if ((req_exec_msg_queueopenasync->create_attrs.creationFlags !=
queue->create_attrs.creationFlags) ||
- (memcmp (req_exec_msg_queueopenasync->create_attrs.size,
- queue->create_attrs.size,
- sizeof (queue->create_attrs.size)) != 0)) {
- /*Return error*/
- error = SA_AIS_ERR_EXIST;
+ if (req_exec_msg_queueopenasync->open_flags &
SA_MSG_QUEUE_CREATE) {
+ if
((req_exec_msg_queueopenasync->create_attrs.creationFlags !=
queue->create_attrs.creationFlags) ||
+ (memcmp
(req_exec_msg_queueopenasync->create_attrs.size,
+ queue->create_attrs.size,
+ sizeof (queue->create_attrs.size)) != 0)) {
+ /*Return error*/
+ error = SA_AIS_ERR_EXIST;
- goto error_exit;
+ goto error_exit;
+ }
}
}
--
1.5.5.6
_______________________________________________
Openais mailing list
[email protected]
https://lists.linux-foundation.org/mailman/listinfo/openais