DBI et fork

Le
Jogo
Bonjour,

J'ai un processus père qui lance plusieurs processus fils. Le père et
les fils doivent avoir une connection à la même base. J'aimerais ne pas
me déconnecter de la base à chaque fork, mais si le fils ferme la
connection dont il hérite (ou si le processus fils se termine), la
connection du père se ferme aussi.

Y a-t-il une solution, ou bien suis-je forcé de fermer la connection
avant chaque fork ?

--
jogo à matabio point net
Vidéos High-Tech et Jeu Vidéo
Téléchargements
Vos réponses
Gagnez chaque mois un abonnement Premium avec GNT : Inscrivez-vous !
Trier par : date / pertinence
Emmanuel Florac
Le #145291
Le Mon, 14 May 2007 14:52:41 +0200, Jogo a écrit :


Y a-t-il une solution, ou bien suis-je forcé de fermer la connection
avant chaque fork ?


C'est la manière la plus prudente de procéder. Selon les pilotes DBD, il
est possible de cacher les connexions, voi dans la documentation. De
même, dans le cadre de mod_perl sous apache, les connexions DBI sont
aussi normalement cachées.

--
Désormais, pour les nations et pour les peuples, une goutte de pétrole
a la valeur d'une goutte de sang.
Georges Clémenceau.

Jogo
Le #145288
Sur fr.comp.lang.perl, je demandais :

Y a-t-il une solution, ou bien suis-je forcé de fermer la connection
avant chaque fork ?


En fait il y a une solution : il suffit de fixer l'attribut InactiveDestroy
à vrai dans le processus qui termine le premier.

Merci quand même à EF de s'être penché sur ma question.

--
Ne sachant réaliser un site Internet et n'ayant pas les moyens pour
l'instant de le créer, je vous sollicite donc ma demande de pouvoir
posséder ce newsgroup tout en respectant la nétiquette en vigueur.
-+- LH in Guide du Neuneu Usenet : Possession vaut titre de neuneu -+-

Emmanuel Florac
Le #145287
Le Thu, 17 May 2007 15:22:00 +0200, Jogo a écrit :


En fait il y a une solution : il suffit de fixer l'attribut InactiveDestroy
à vrai dans le processus qui termine le premier.


Je ne suis pas sûr que ça garantisse l'absence de deadlocks si plusieurs
processus essaient d'accéder à la base via la même connexion en même
temps. Il me semble que ça fonctionne avec certains pilotes DBD et pas
d'autres.

--
Désormais, pour les nations et pour les peuples, une goutte de pétrole
a la valeur d'une goutte de sang.
Georges Clémenceau.

Publicité
Poster une réponse
Anonyme