Как я могу разделить соединение с базой данных через разветвленный процесс в Perl? - PullRequest
0 голосов
/ 17 мая 2009

Я делал следующие программы на Perl:

my $db = DBconnection with DB2

if ($pid = fork()) {
    #parent
} else {
    #child
    $db->execute("SELECT ****");
    exit;
}

wait();
$db->execute("SELECT ****");

Я думал, что он ждал, пока конец дочернего процесса захочет это сделать, и будет обрабатывать его для БД с помощью про- процесса.

Кроме того, БД не связана с содержанием ошибки.

Что не так?

Ответы [ 2 ]

5 голосов
/ 17 мая 2009

Есть много вещей, которые вы должны сделать, чтобы позволить дочернему процессу использовать дескриптор DBI своего родителя. См. Эту статью о Perl Monks о DBI, форке и клоне .

1 голос
/ 17 мая 2009

Попробуйте включить эту строку кода в свой дочерний блок:

$db->{InactiveDestroy} = 1;
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...