[Openais] [Patch] [BSD] Fix EOF handling in coroipcs.c:req_setup_recv()
Steven Dake
sdake at redhat.com
Mon Jun 29 16:14:40 PDT 2009
Patch looks good for commit
regards
-steve
On Mon, 2009-06-29 at 09:35 +0200, Jérôme Flesch wrote:
> Hello,
>
> Here is a patch to fix req_setup_recv() return value on BSD systems.
> On BSD systems, when recvmsg() returns 0 (ie EOF), req_setup_recv() must
> return 0 instead of -1, so coroipcs_handler_dispatch() doesn't try to
> send back a message on the same socket (see
> coroipcs.c:coroipcs_handler_dispatch:l1279). Otherwise, Corosync gets a
> SIGPIPE and dies.
> plain text document attachment (fix-bsd-coroipcs-req-setup-recv.patch)
> diff --git a/exec/coroipcs.c b/exec/coroipcs.c
> index 96c43dc..e247d11 100644
> --- exec/coroipcs.c
> +++ exec/coroipcs.c
> @@ -661,8 +661,10 @@ retry_recv:
> * EOF is detected when recvmsg return 0.
> */
> ipc_disconnect (conn_info);
> -#endif
> + return 0;
> +#else
> return (-1);
> +#endif
> }
> conn_info->setup_bytes_read += res;
>
> _______________________________________________
> Openais mailing list
> Openais at lists.linux-foundation.org
> https://lists.linux-foundation.org/mailman/listinfo/openais
More information about the Openais
mailing list