HTML :: DOM останавливает работу модуля forks - PullRequest
0 голосов
/ 19 декабря 2010

Я столкнулся со странной ошибкой.Когда я одновременно использую модуль 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 на стандартном выходе.Он работает со стандартным threads, но я не хочу его использовать.

Если я закомментирую строку use HTML::DOM;, она внезапно начнет работать.Итак, мои вопросы:

  1. Это действительно ошибка?
  2. Если это ошибка, куда сообщить об этом?Это ошибка HTML::DOM, forks, оба ...?

edit: это происходит только с 5.8.8 perl, а не с 5.10.0.

Ответы [ 2 ]

2 голосов
/ 19 декабря 2010

Учитывая, что forks утверждает, что предоставляет тот же интерфейс, что и threads, я был бы более склонен сообщить об этом против forks более HTML::DOM.Тем более что forks - это тот, кто совершает глубокую магию, тогда как HTML::DOM - это просто обычный повседневный модуль.Маловероятно, что авторы HTML::DOM поймут, о чем вы.

0 голосов
/ 20 декабря 2010

Проблема «решена».

У меня были странные настройки в $PERLLIB и $PERL5LIB, которые связаны с несуществующими каталогами или каталогами с устаревшими библиотеками. Как только я это исправил, forks начал работать как надо.

Так что, если у вас есть похожие проблемы с forks, проверьте ваши $PERLLIB и $PERL5LIB, если они ссылаются туда, куда должны ссылаться.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...