Article View: fr.comp.lang.c
Article #105Re: MQseries et les threads ?
From: Laurent Oget
Date: Tue, 16 Oct 2001 15:41
Date: Tue, 16 Oct 2001 15:41
80 lines
3622 bytes
3622 bytes
Dimitri Muringer <d.muringer@mobileway.com> writes: > Hello, > > Je developpe un soft qui utilise les librairies de MQseries, et j'ai des > probl�mes de compilation � cause de l'option de prise en compte des > threads "-lpthread" pendant le linking. > > En effet si j'inclus cette option, les fonctions de la librairie > MQseries ne fonctionnent plus, je n'arrive plus � me connecter � un > QueueManager. > Tu as de la chance. Je m'explique: en g�n�ral quand on utilise des threads avec une librairie qui n'est pas con�u pour ce faire, on a un comportement apparemment normal, mis � part des erreurs non reproductibles et arrivant al�atoirement quand deux threads entrent en conflit et partagent, par exemple, une variable statique. En pratique c'est � peu pr�s in-debuggable et la loi de l'emmerdement maximum aidant, �a ne se produit jamais lors des tests mais toujours lors de la d�mo chez le client. > Si par contre je link sans l'option "-lpthread", �a fontionne impec, > mais �a ne m'arrange pas car je dois utiliser des threads dans le soft ! > Je ne sais pas bien ce qui cause ton probl�me, mais c'est bien mieux que d'avoir une application qui explose al�atoirement. Je ne peux gu�re t'aider n'ayant aucune id�e de ce que sont les MQseries. > Alors j'aimerais savoir si vous savez comment je pourrais r�ussir � > faire fonctionner mon soft avec les librairies MQseries ET la prise en > compte des threads. > si j'�tais toi je demanderais au groupe comp.programming.threads, o� ils vont s�rement t'envoyer c...r et te dire que la r�ponse est dans le livre de Butenhof, que je ne saurais trop te conseiller de lire. En g�n�ral il y a plusieurs solutions: -s'arranger pour qu'un seul thread appelle la librairie en question. -mettre un mutex avant chaque appel a la librairie ce qui risque de degrader les performances. -isoler dans la librairie les points sensibles et les prot�ger par un mutex. -changer de librairie > > Merci ! > > > > Les compilations : > > 1) > gcc -c sender.c > gcc -o sender sender.o -lmqic -ldl -lpthread > > -> le soft ne fonctionne pas, car il n'arrive pas � se connecter au > QueueManager : la librairie MQseries fonctionne mal... > > 2) > gcc -c sender.c > gcc -o sender sender.o -lmqic -ldl > > -> Tout fonctionne, mais il me faut -lpthread !! > > > -- Laurent Oget, Ph.D. laurent@oget.net http://oget.net Senior Engineer Zvolve Systems Inc http://zvolve.com Chercheur Associ� Liafa http://liafa.jussieu.fr
Technical Details
Message-ID:
<7l669fmw31.fsf@zvolve.com>Path:
arc1-ca.pugleaf.net!archiver1.google.com!news1.google.com!newsfeed.stanford.edu!news-spur1.maxwell.syr.edu!news.maxwell.syr.edu!sunqbc.risq.qc.ca!falcon.america.net!eagle.america.net.POSTED!not-for-mailReferences:
<3BCC4200.9DB9F4E@mobileway.com>Show Full Headers
Complete Article Headers
X-Google-Language: FRENCH,ASCII X-Google-Thread: 102e15,f3af3484e61da44f X-Google-Attributes: gid102e15,public X-Google-Thread: f9822,f3af3484e61da44f X-Google-Attributes: gidf9822,public X-Google-ArrivalTime: 2001-10-16 08:43:31 PST Path: arc1-ca.pugleaf.net!archiver1.google.com!news1.google.com!newsfeed.stanford.edu!news-spur1.maxwell.syr.edu!news.maxwell.syr.edu!sunqbc.risq.qc.ca!falcon.america.net!eagle.america.net.POSTED!not-for-mail Sender: loget@zvisws02 Newsgroups: fr.comp.lang.c,fr.comp.developpement Subject: Re: MQseries et les threads ? References: <3BCC4200.9DB9F4E@mobileway.com> From: Laurent Oget <loget@zvolve.com> Message-ID: <7l669fmw31.fsf@zvolve.com> Lines: 80 X-Newsreader: Gnus v5.7/Emacs 20.7 Date: 16 Oct 2001 11:41:06 -0400 NNTP-Posting-Host: 216.3.26.18 X-Trace: eagle.america.net 1003247011 216.3.26.18 (Tue, 16 Oct 2001 11:43:31 EDT) NNTP-Posting-Date: Tue, 16 Oct 2001 11:43:31 EDT Organization: 24hoursupport.com