Reviewed-by: Steven Dake <sdake@xxxxxxxxxx> On 02/13/2012 04:23 AM, Angus Salkeld wrote: > 1) remove BUSY loop from membership get > Note only cpg_join and cpg_leave ever set the > BUSY error code. > 2) set the size correctly > 3) copy the name in correctly > > Signed-off-by: Angus Salkeld <asalkeld@xxxxxxxxxx> > --- > lib/cpg.c | 19 +++++++++---------- > 1 files changed, 9 insertions(+), 10 deletions(-) > > diff --git a/lib/cpg.c b/lib/cpg.c > index 7e325e9..0db64f6 100644 > --- a/lib/cpg.c > +++ b/lib/cpg.c > @@ -52,6 +52,7 @@ > > #include <qb/qbdefs.h> > #include <qb/qbipcc.h> > +#include <qb/qblog.h> > > #include <corosync/hdb.h> > #include <corosync/list.h> > @@ -606,20 +607,18 @@ cs_error_t cpg_membership_get ( > req_lib_cpg_membership_get.header.size = sizeof (struct req_lib_cpg_membership_get); > req_lib_cpg_membership_get.header.id = MESSAGE_REQ_CPG_MEMBERSHIP; > > - memcpy (&req_lib_cpg_membership_get.group_name, group_name, > - sizeof (struct cpg_name)); > + marshall_to_mar_cpg_name_t (&req_lib_cpg_membership_get.group_name, > + group_name); > > iov.iov_base = (void *)&req_lib_cpg_membership_get; > - iov.iov_len = sizeof (struct qb_ipc_request_header); > + iov.iov_len = sizeof (struct req_lib_cpg_membership_get); > > - do { > - error = coroipcc_msg_send_reply_receive (cpg_inst->c, &iov, 1, > - &res_lib_cpg_membership_get, sizeof (res_lib_cpg_membership_get)); > + error = coroipcc_msg_send_reply_receive (cpg_inst->c, &iov, 1, > + &res_lib_cpg_membership_get, sizeof (res_lib_cpg_membership_get)); > > - if (error != CS_OK) { > - goto error_exit; > - } > - } while (res_lib_cpg_membership_get.header.error == CS_ERR_BUSY); > + if (error != CS_OK) { > + goto error_exit; > + } > > error = res_lib_cpg_membership_get.header.error; > _______________________________________________ discuss mailing list discuss@xxxxxxxxxxxx http://lists.corosync.org/mailman/listinfo/discuss