• Philip Withnall's avatar
    agent: Handle EWOULDBLOCK when transmitting pseudo-TCP segments · 8ecd6b89
    Philip Withnall authored
    The pseudo-TCP code previously didn’t handle EAGAIN or EWOULDBLOCK
    errors from the low-level NiceSocket code. This caused pseudo-TCP
    connections to be dropped if the transmitting socket ever filled up,
    which could cause problems on high bandwidth connections.
    
    Fix the issue by effectively dropping the packet on EWOULDBLOCK. This
    will eventually get picked up by the pseudo-TCP recovery mechanism,
    retransmitting the packet and throttling the sender. This should
    hopefully reduce the system resource usage which caused EWOULDBLOCK in
    the first place.
    
    Spotted and debugged by Radosław Kołodziejczyk
    <radek.kolodziejczyk@gmail.com>.
    
    https://bugs.freedesktop.org/show_bug.cgi?id=87344
    8ecd6b89
agent.c 177 KB