Re: Problem with select/5 on AF_INET sockets with Windows 7

Fx <[email protected]> Thu, 19 Feb 2015 20:11:57 +0100
Newsgroups gmane.comp.gnu.prolog.bugs
Message-ID <[email protected]>
:)) Paulo, you are right, if it can help. I won=92t promise anything, but i=
 can at least take a look, sure.

Can you help, and tell me where cans i found some infos:
- What are actually the tools (or info link )to compile under Windows (7,32=
b my office copmuter)
- What are actually the tools (or info link )to compile under Os X (this on=
e is really rather a computer, my personnal(s) one(s)).

Dont=92 they exists some kinda unit tests ? Prolog coded scenario ?  Or a J=
enkins like for massive testing ?

Fx (shorter).


Le 19 f=E9vr. 2015 =E0 20:00, Paulo Moura <[email protected]> a =E9crit :

> =

>> On 19/02/2015, at 18:58, Fx <[email protected]> wrote:
>> =

>> Daniel,
>> =

>> Thank you very much for your answer, and this is a great news for 1.4.5 =
!!!
>> =

>> I=92ll be patient and wait for the official distribution.
> =

> Don't be patient. Help instead beta-testing 1.4.5.
> =

> Cheers,
> =

> Paulo
> =

> =

>> Le 17 f=E9vr. 2015 =E0 13:32, Daniel Diaz <[email protected]> a=
 =E9crit :
>> =

>>> Hi,
>>> =

>>> sorry for the late reply. Thank you for this bug report.
>>> =

>>> The bug is fixed in the last git version. Will be fixed in next 1.4.5
>>> =

>>> Daniel
>>> =

>>> =

>>> =

>>> Le 27/01/2015 12:44, [email protected] a =E9crit :
>>>> Dear Daniel,
>>>> =

>>>> I am working on a specific http server for gnu prolog (1.4.4), and i d=
iscovered
>>>> a strange comportment under windows 7 (32) with the select/5 predicate.
>>>> =

>>>> The simple test below works fine on a OSX (maybe all unix) system but =
will
>>>> return a system error under Windos 7 (32) , "Bad File Descriptor":
>>>> =

>>>> ERROR : Failed to start server : error(system_error(Bad file
>>>> descriptor),select/5)
>>>> =

>>>> To test, launch one of the two test cases and open an internet browser=
 to
>>>> http://127.0.0.1:8080/ for example, or change the 127.0.0.1 by your IP.
>>>> =

>>>> %- Program Test with Select -----------------------------------
>>>> =

>>>> worker_run(Socket, Client, StreamIn, StreamOut):- write('i am a workin=
g worker
>>>> ...'), nl.
>>>> =

>>>> server_test_with_select:-
>>>> 	socket('AF_INET', Socket),
>>>> 	socket_bind(Socket, 'AF_INET'(Host, 8080)),
>>>> 	socket_listen(Socket,10),
>>>> 	catch( 	server_loop_with_select(Socket),E,
>>>> 		 ( 	socket_close(Socket),
>>>> 			format( "ERROR : Failed to start server : ~w~n", [E] )
>>>> 	)).
>>>> =

>>>> server_loop_with_select(Socket):-
>>>> 	repeat,
>>>> 		select([Socket],ReadyReads,[Socket],[],0),
>>>> 		worker_run(Socket, Client, StreamIn, StreamOut),
>>>> 	fail.
>>>> =

>>>> %- End of Program Test with Select -----------------------------------
>>>> =

>>>> When not using usefull select/5 and directly use the socket_accept/4 p=
redicate
>>>> the server works well.
>>>> =

>>>> =

>>>> %- Program Test without Select -----------------------------------
>>>> =

>>>> worker_run(Socket, Client, StreamIn, StreamOut):- write('i am a workin=
g worker
>>>> ...'), nl.
>>>> =

>>>> server_test_without_select:-
>>>> 	socket('AF_INET', Socket),
>>>> 	socket_bind(Socket, 'AF_INET'(Host, 8080)),
>>>> 	socket_listen(Socket,10),
>>>> 	catch( 	server_loop_without_select(Socket),E,
>>>> 		 ( 	socket_close(Socket),
>>>> 			format( "ERROR : Failed to start server : ~w~n", [E] )
>>>> 	)).
>>>> =

>>>> server_loop_without_select(Socket):-
>>>> 	repeat,
>>>> 		socket_accept(Socket, Client, StreamIn, StreamOut),
>>>> 		worker_run(Socket, Client, StreamIn, StreamOut),
>>>> 	fail.
>>>> =

>>>> %- End of Program Test without Select --------------------------------=
---
>>>> =

>>>> =

>>>> Is it a known bug and did you plan to fix it in a future version ?
>>>> =

>>>> =

>>>> Best Regards,
>>>> =

>>>> Fx NION.
>>>> =

>>>> =

>>>> _______________________________________________
>>>> Bug-prolog mailing list
>>>> [email protected]
>>>> https://lists.gnu.org/mailman/listinfo/bug-prolog
>>>> =

>>> =

>>> =

>>> -- =

>>> Ce message a ete verifie par MailScanner
>>> pour des virus ou des polluriels et rien de
>>> suspect n'a ete trouve.
>>> =

>> =

>> =

>> _______________________________________________
>> Bug-prolog mailing list
>> [email protected]
>> https://lists.gnu.org/mailman/listinfo/bug-prolog
> =

> -----------------------------------------------------------------
> Paulo Moura
> Logtalk developer
> =

> Email: <mailto:[email protected]>
> Web:   <http://logtalk.org/>
> -----------------------------------------------------------------
> =

> =

> =

> =