[ClusterLabs] Antw: Re: [Cluster-devel] DLM connection channel switch take too long time (> 5mins)

Guoqing Jiang gqjiang at suse.com
Tue Mar 13 00:00:48 EDT 2018



On 03/08/2018 07:24 PM, Ulrich Windl wrote:
> Hi!
>
> What surprises me most is that a connect(...O_NONBLOCK) actually blocks:
>
> EINPROGRESS
>                The  socket  is  non-blocking  and the connection cannot be com-
>                pleted immediately.
>

Maybe it is because that the socket is created by sock_create_kern, and
O_NONBLOCK flag is not worked  since __sctp_connect has the following
description.

        /* in-kernel sockets don't generally have a file allocated to them
          * if all they do is call sock_create_kern().
          */
         if (sk->sk_socket->file)
                 f_flags = sk->sk_socket->file->f_flags;

         timeo = sock_sndtimeo(sk, f_flags & O_NONBLOCK);

Thanks,
Guoqing



More information about the Users mailing list