On Tue, Mar 08, 2016 at 10:18:46AM -0500, Simo Sorce wrote:
> Fixing everything else commented before.
> 
> On Sat, 2016-03-05 at 15:31 +0100, Jakub Hrozek wrote:
> > And this is the question. The new code doesn't restore the flags, is
> > this an intentional change? Do you know why we restored the flags
> > previously?
> 
> Yes, it is an intentional change as restoring the flags was not needed.
> What happens if the function fails is that we are going to close the
> socket anyway, so what's the point of restoring flags (which means
> removing O_NONBLOCK in the end, somethign we never want to do as all
> sockets must be non-blocking in SSSD to avoig hangs.
> 
> 
> Fixed patches attacched.
> 
> Simo.
> 
> -- 
> Simo Sorce * Red Hat, Inc * New York

> From 5551dc918890cf445cadb1b39c42d9a6dffa8bb8 Mon Sep 17 00:00:00 2001
> From: Simo Sorce <s...@redhat.com>
> Date: Wed, 2 Mar 2016 15:49:27 -0500
> Subject: [PATCH 2/3] Util: Set socket options and flags separately
> 
> Reorganize functions to set options and flags, all flags can be set at once,
> and there is no need to keep old falgs around as nothing ever used that for
> anything useful.
> 
> Related:
> https://fedorahosted.org/sssd/ticket/2968

This patch breaks failover for me. I can't really figure out why, the
code looks OK, though.

What I'm seeing is that the connect() call blocks. If I just add another
SETFD with O_NONBLOCK, everything works fine.

I really don't see the error though, can you? I can reliably reproduce
the error with:
    - search for a user to establish connection
    - pause the VM with the server
    - search again
_______________________________________________
sssd-devel mailing list
sssd-devel@lists.fedorahosted.org
https://lists.fedorahosted.org/admin/lists/sssd-devel@lists.fedorahosted.org

Reply via email to