• Vladislav Vaintroub's avatar
    Post-fix 567c0973 · 01d994b3
    Vladislav Vaintroub authored
    Do *not* check if socket is closed by another thread. This is
    race-condition prone, unnecessary, and harmful. VIO state was introduced
    to debug the errors, not to change the behavior.
    
    Rather than checking if socket is closed, add a DBUG_ASSERT that it is
    *not* closed, because this is an actual logic error, and can potentially
    lead to all sorts of funny behavior like writing error packets to Innodb
    files.
    
    Unlike closesocket(), shutdown(2) is not actually race-condition prone,
    and it breaks poll() and read(), and it worked for longer than a decade,
    and it does not need any state check in the code.
    01d994b3
viosocket.c 34.5 KB