• Paul Eggert's avatar
    Try other addresses when connecting to multihomed · 2989ad90
    Paul Eggert authored
    Problem reported by Juliusz Chroboczek (Bug#17976)
    and by Artur Malabarba (Bug#23620).
    Patch from a suggestion by Andreas Schwab in:
    http://bugs.gnu.org/17976#39
    This patch is for non-MS-Windows platforms.
    I don't know the situation on MS-Windows.
    * src/process.c (connecting_status):
    New function, for (connect . ADDRINFOS).
    (connect_network_socket, check_for_dns, wait_for_socket_fds)
    (wait_while_connecting, wait_reading_process_output, status_notify):
    Use it.
    (decode_status, Fmake_network_process):
    Support (connect . ADDRINFOS) status.
    (connect_network_socket) [!WINDOWSNT]:
    If the connection failed and there are other addresses to try, do not
    signal an error; instead, loop around to try the next address.
    (wait_reading_process_output): Advance to the next address
    if there are multiple addresses and the first remaining address
    failed.
    * src/process.h (struct Lisp_Process.status): Adjust comment
    to describe (connect . ADDRINFOS).
    2989ad90
process.h 8.9 KB