[fpc-pascal] fpselect does not work on linux
Rainer Stratmann
RainerStratmann at t-online.de
Sat May 9 11:18:23 CEST 2009
Am Samstag, 9. Mai 2009 12:17 schrieb Michael Van Canneyt:
> On Sat, 9 May 2009, Rainer Stratmann wrote:
> > 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;
>
> And why do you think that this is a bug ?
I know that the socket I tested is not writable, but the function returns
writable... always with linux.
It is not working on linux operating system. With windows os that works.
Someone else have (had?) exactly the same problem:
http://community.freepascal.org:10000/bboards/message?message_id=270583&forum_id=24083
Rainer
> Michael.
> _______________________________________________
> fpc-pascal maillist - fpc-pascal at lists.freepascal.org
> http://lists.freepascal.org/mailman/listinfo/fpc-pascal
More information about the fpc-pascal
mailing list