To find out if a nonblocking socket has connected I use the following piece of code:
With windows that works, but with linux I get alwas the result that the socket is writable. function is_writable_socket( sck : integer ) : boolean; var fds : tfdset; tv : timeval; begin {$ifdef linux} fpfd_zero( fds ); fpfd_set( sck , fds ); {$endif} {$ifdef windows} fd_zero( fds ); fd_set( sck , fds ); {$endif} tv.tv_sec := 0; tv.tv_usec := 0; // socket+1 , read , write , except , timeout {$ifdef linux} result := fpselect( sck + 1 , nil , @fds , nil , @tv ) > 0; {$else} result := select( sck + 1 , nil , @fds , nil , @tv ) > 0; {$endif} end; _______________________________________________ fpc-pascal maillist - fpc-pascal@lists.freepascal.org http://lists.freepascal.org/mailman/listinfo/fpc-pascal