HTML::DOM 阻止 forks 模块工作
我遇到了一个奇怪的错误。当我使用 HTML::DOM
和 forks
模块同时,forks
模块无法正常工作。
奇怪的是,这种情况只发生在某些机器上,而不会发生在其他机器上。示例:
use forks;
use HTML::DOM;
$|=1;
print "before\n";
threads->new( sub {
$|=1;
print "inside\n";
} );
print "after\n";
sleep(3600);
我在标准输出上只看到 before
和 after
,而从未看到 inside
。它适用于标准线程
,但我不想使用它。
如果我注释掉 use HTML::DOM;
行,它会突然开始工作。所以,我的问题是,
- 这真的是一个错误吗?
- 如果是错误,到哪里报告?这是
HTML::DOM
、forks
的错误吗?
编辑:它只发生在 5.8.8 perl 中,而不是 5.10.0 中。
I have encountered a strange error. When I use HTML::DOM
and forks
module at the same time, the forks
module doesn't work properly.
Strange thing is, this occurs only at some machines, not on others. Example:
use forks;
use HTML::DOM;
$|=1;
print "before\n";
threads->new( sub {
$|=1;
print "inside\n";
} );
print "after\n";
sleep(3600);
I see only before
and after
, never inside
on standard output. It works with standard threads
, but I don't want to use it.
If I comment out the use HTML::DOM;
line, it suddenly starts working. So, my questions are,
- Is it really a bug?
- If it is a bug, where to report it? Is it a bug of
HTML::DOM
,forks
, both...?
edit: it happens only with 5.8.8 perl, not with 5.10.0.
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。
绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论
评论(2)
鉴于
forks
声称提供与threads
相同的接口,我更倾向于通过HTML 来针对
。特别是因为forks
进行报告: :DOMforks
是发挥深层魔力的那个,而HTML::DOM
只是一个普通的日常模块。HTML::DOM
作者不太可能知道您在说什么。Given that
forks
is claiming to provide the same interface asthreads
I'd be more inclined to report it againstforks
overHTML::DOM
. Especially since theforks
is the one doing the deep magic, whereasHTML::DOM
is just a normal everyday module. Its not likely theHTML::DOM
authors will have any idea what you're on about.问题“解决”了。
我在
$PERLLIB
和$PERL5LIB
中有一个奇怪的设置,链接到不存在的目录或包含过时库的目录。一旦我解决了这个问题,forks
就开始正常工作。因此,如果您在使用
forks
时遇到类似问题,请检查您的$PERLLIB
和$PERL5LIB
是否链接到了应链接的位置。Problem "solved".
I had a weird settings in
$PERLLIB
and$PERL5LIB
, that linked to non-existing directories or directories with outdated libraries. Once I fixed that,forks
started working as it should.So, if you have similar troubles with
forks
, check your$PERLLIB
and$PERL5LIB
, if it links where it should link.