2009年4月7日星期二

[PerlChina] Re: select在powerpc上有问题,有谁porting 过 perl?

谢谢!我不知道你对powerpc了解多少。
我的问题主要来源于使用MPC8572DS 参考设计板(powerpc 体系结构e500 core)的客户在运行perl(也是我们移植的)的时候发现“can_read"/"SELECT”调用时出错,can_read永远都返回超时,不能返回FD。追本溯源,发现select本身也只能超时退出,从未阻塞过,于是写了这么一个测试程序。

不是用不用select的问题,这里的程序只是一个测试用例。其他很多库可能调用select,所以都会受到影响。

现在还没有定位清楚是哪一层的问题。我是不是应该写一个类似的C语言测试程序,以确定是不是system call的问题?

Subject:      Perl module has basic problem with select call
Description:
It seems there is an issue with "can_read"/"SELECT" call in the basic Perl module that comes along with the 8572 Linux support package

"can_read" is always returning due to timeout only,it never
 returns any FD even if the data a available on it.We found that
 internally "SELECT" always returns due to timeout. Due to this many of the libraries like DNS Resolver,libwww which uses "can_read" are failing.We have written few perl scripts to verify this.The same scripts work fine on X86 PC. Here is the sample script which directly used select call.The test always fails though we are getting the response from the server.


2009/4/7 purl lamp <lamp.purl@gmail.com>
请问 powerpc 是指哪种平台?

http://www.scribd.com/doc/31310/Perl-and-UNIX-Network-Programming

第三十页的 modem non-blocking IO 很有启发,不写 select 大多时候更高效。

2009/4/7 Olivia <honghua.yin@gmail.com>


相同的客户端程序在X86上能够正确返回,但是在powerpc上select始终只能延时退出,返回0。
x86和powerpc上的perl版本都是5.8.8。
有谁porting过perl,或者遇到过类似问题?为什么select无法阻塞?
服务器运行在一台x86上。分别在另一台X86和powerpc上运行客户端,perl版本都是5.8.8。





--~--~---------~--~----~------------~-------~--~----~
您收到此信息是由于您订阅了 Google 论坛"PerlChina Mongers 讨论组"论坛。
 要在此论坛发帖,请发电子邮件到 perlchina@googlegroups.com
 要退订此论坛,请发邮件至 perlchina+unsubscribe@googlegroups.com
 更多选项,请通过 http://groups.google.com/group/perlchina?hl=zh-CN 访问该论坛

-~----------~----~----~----~------~----~------~--~---

没有评论: