Google Groups no longer supports new Usenet posts or subscriptions. Historical content remains viewable.
Dismiss

IO::Select ou select() perde le nord, obligation d'utiliser alarm()...

1 view
Skip to first unread message

José

unread,
May 1, 2012, 12:31:11 PM5/1/12
to
Bonjour,

Lors de l'utilisation de IO:Select je me suis aperçu que ce dernier
ne trouvait, à lire, plus de données sur le $socket alors que
ce n'est pas le cas.
La preuve, quand alarm() ou <$socket> sont remplacés par
le couple select()/read() de Perl tout baigne comme prévu.

Plutôt qu'un grand exposé, j'ai pris soin de créer 4
cas de fonctionnement de mon programme pour vous montrer le
comportement, qui me semble anormal, de IO:select (ou select...) .

Pour cela il faut lancer le programme comme précisé dans l'entête
du code source disponible ici : http://codepad.org/I8AICMTJ

Vous l'aurez compris, je suis à la recherche d'un témoignage ou
critique qui pourrait expliquer pourquoi IO::Select ou select
ne fonctionnent pas comme leurs version en C.
La seule piste que j'ai est que la lecture avec read, après un
IO::Select, désynchroniserait le pointeur (seek) sur le $socket.
Créant un retard de l'un par rapport à l'autre...

Merci pour m'avoir lu :)



PS: perso, j'aimerais utiliser IO::Select que alarm() d'où ma demande
d'aide!

José

unread,
May 1, 2012, 12:33:50 PM5/1/12
to

José

unread,
May 1, 2012, 12:36:03 PM5/1/12
to
Le 01/05/2012 18:33, José a écrit :
> Bonjour,
>
Dsl pour le flood, erreur de config dans ThunderBird...



José

unread,
May 1, 2012, 12:41:34 PM5/1/12
to


> Pour cela il faut lancer le programme comme précisé dans l'entête
> du code source disponible ici : http://codepad.org/I8AICMTJ
>
Vous pouvez utiliser le serveur de news : news.gyptis.org
pour tester!
_./send.pl server=news.gyptis.org method=crochet_
_./send.pl server=news.gyptis.org method=alarm_
_./send.pl server=news.gyptis.org method=ioselect_
_./send.pl server=news.gyptis.org method=select_

Comme vous pourrez le voir, selon la méthode employée,
toutes les lignes ne seront pas lus!

mci++

0 new messages