lkml.org 
[lkml]   [2003]   [Oct]   [26]   [last100]   RSS Feed
Views: [wrap][no wrap]   [headers]  [forward] 
 
Messages in this thread
    /
    Date
    From
    SubjectRe: Linux 2.6.0-test9

    On Sun, 26 Oct 2003, Linus Torvalds wrote:
    >
    > Andries, what was the situation that led to a TCP lockup? I don't see
    > anything but URG being broken by that patch, so it would be good to verify
    > that your breakage really was URG, to see that it's totally understood..

    Btw, final comment: if it really is URG-only breakage, then instead of
    reverting the patch (if it had some other reasons going for it), we could
    change the URG test at the top of the loop from

    if (copied && tp->urg_data && tp->urg_seq == *seq)
    break

    to

    if (tp->urg_data && tp->urg_seq == *seq) {
    if (copied)
    break;
    if (signal_pending(current)) {
    copied = timeo ? sock_intr_errno(timeo) : -EAGAIN;
    break;
    }
    }

    which gives the right break semantics for URG data.

    After that, the only other place where we should check for signal pending
    is probably at the tcp_data_wait() call. All the other signal pending
    checks seem bogus (ie right now a pending signal will mean that we avoid
    doing even TCP-level cleanups, which looks just wrong).

    But reverting the change is clearly the "safer" thing to do, I just worry
    that Alexey might have had a real reason for tryign to avoid the EINTR in
    the first place (for non-URG data).

    Linus

    -
    To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
    the body of a message to majordomo@vger.kernel.org
    More majordomo info at http://vger.kernel.org/majordomo-info.html
    Please read the FAQ at http://www.tux.org/lkml/

    \
     
     \ /
      Last update: 2009-11-18 23:46    [W:0.022 / U:0.024 seconds]
    ©2003-2016 Jasper Spaans. hosted at Digital OceanAdvertise on this site