Skip to content
Snippets Groups Projects
Select Git revision
  • dailybuild_linux-x64
  • dailybuild_win32
  • master default protected
  • sqlite
  • rip_abstraction
  • dailybuild_macos-armv8
  • dd_file_lister_filanem_in_desc_color
  • mode7
  • dd_msg_reader_are_you_there_warning_improvement
  • c23-playing
  • syncterm-1.3
  • syncterm-1.2
  • test-build
  • hide_remote_connection_with_telgate
  • 638-can-t-control-c-during-a-file-search
  • add_body_to_pager_email
  • mingw32-build
  • cryptlib-3.4.7
  • ree/mastermind
  • new_user_dat
  • sbbs320d
  • syncterm-1.6
  • syncterm-1.5
  • syncterm-1.4
  • sbbs320b
  • syncterm-1.3
  • syncterm-1.2
  • syncterm-1.2rc6
  • syncterm-1.2rc5
  • push
  • syncterm-1.2rc4
  • syncterm-1.2rc2
  • syncterm-1.2rc1
  • sbbs319b
  • sbbs318b
  • goodbuild_linux-x64_Sep-01-2020
  • goodbuild_win32_Sep-01-2020
  • goodbuild_linux-x64_Aug-31-2020
  • goodbuild_win32_Aug-31-2020
  • goodbuild_win32_Aug-30-2020
40 results

js_socket.c

Blame
    • rswindell's avatar
      7685c9d7
      Bug-fix: Socket.connect() would return true (success) even though a · 7685c9d7
      rswindell authored
      TCP connection actually failed. This bug only appeared to affect *nix
      systems. This bug appears to be very old, introduced in rev 1.74 of
      this file (Mar-2003) by yours truly.
      From the Linux 'connect' man page:
      EINPROGRESS
                    The  socket  is  nonblocking  and the connection cannot be i
                    completed immediately.  It is possible to select(2) or poll(2)
                    for completion by selecting the socket for writing.  After
                    select(2) indicates writability, use getsockopt(2) to read the
                    SO_ERROR option at level SOL_SOCKET to determine whether
                    connect() completed successfully (SO_ERROR is zero) or
                    unsuccessfully (SO_ERROR is one of the usual error codes listed
                    here, explaining the reason for the failure).
      
      We weren't doing the 'getsockopt(SO_ERROR)' part.
      7685c9d7
      History
      Bug-fix: Socket.connect() would return true (success) even though a
      rswindell authored
      TCP connection actually failed. This bug only appeared to affect *nix
      systems. This bug appears to be very old, introduced in rev 1.74 of
      this file (Mar-2003) by yours truly.
      From the Linux 'connect' man page:
      EINPROGRESS
                    The  socket  is  nonblocking  and the connection cannot be i
                    completed immediately.  It is possible to select(2) or poll(2)
                    for completion by selecting the socket for writing.  After
                    select(2) indicates writability, use getsockopt(2) to read the
                    SO_ERROR option at level SOL_SOCKET to determine whether
                    connect() completed successfully (SO_ERROR is zero) or
                    unsuccessfully (SO_ERROR is one of the usual error codes listed
                    here, explaining the reason for the failure).
      
      We weren't doing the 'getsockopt(SO_ERROR)' part.