Comment puis-je partager une connexion de base de données à travers un processus fourchue en Perl?
Question
J'ai fait les programmes suivants en Perl avant:
my $db = DBconnection with DB2
if ($pid = fork()) {
#parent
} else {
#child
$db->execute("SELECT ****");
exit;
}
wait();
$db->execute("SELECT ****");
Je pensais qu'il attendait la fin du processus de l'enfant d'avoir voulu le faire et fonctionnerait pour DB par un pro-processus.
En outre, DB n'est pas connecté au contenu de l'erreur.
Qu'est-ce qui ne va pas?
La solution
Il y a beaucoup de choses que vous devez faire pour permettre à un processus d'enfant d'utiliser la poignée de DBI de son parent. Voir cet article sur Perl Moines sur le DBI, fourchette et clone .
Autres conseils
Essayez d'inclure cette ligne de code dans votre bloc enfant:
$db->{InactiveDestroy} = 1;
Licencié sous: CC-BY-SA avec attribution
Non affilié à StackOverflow