Em 14-05-2013 12:00, Tiago Peczenyj escreveu:

Select é mais "elegante". Aqui o conceito é modificado levemente e eu
aguardo por x tempo até poder escrever ou ler. Ainda posso bloquear e
levar mais tempo porém parece suprir as necessidades. Como em alguns
testes usando um sleep dentro do servidor eu ainda conseguia escrever,
eu testei a alternativa de usar select apenas para ler. Deve funcionar
no Win32.

Tiago,

Meio com atraso, mas aí vai um bom artigo sobre conseguir compatibilidade entre Windows e UNIX-like SO.

http://tinyclouds.org/iocp-links.html

Como você já deve ter percebido, select() não funciona muito bem no Windows por conta de overhead. Alarm() é algo completamente esquisito no Windows: recentemente eu tentei usar (mas para fazer timeout de IPC) e simplesmente não funciona... mas se eu deixar ele ativo e usar o debugger, aí ele dá timeout... não me faça mais perguntas, eu já deixei pra lá. :-)

A menos que suportar Windows seja absolutamente necessário, minha sugestão é que você se limite agora a abstrair a parte referente a sockets no Riak::Light para que seja possível entrar depois com implementações específicas para cada SO. O artigo acima vai ilustrar melhor a razão disso.

[]'s
Alceu






=begin disclaimer
  Sao Paulo Perl Mongers: http://sao-paulo.pm.org/
SaoPaulo-pm mailing list: [email protected]
L<http://mail.pm.org/mailman/listinfo/saopaulo-pm>
=end disclaimer

Responder a