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

  • 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.