🚀 go-pugleaf

RetroBBS NetNews Server

Inspired by RockSolid Light RIP Retro Guy

Article View: fr.comp.lang.c
Article #105

Re: MQseries et les threads ?

#105
From: Laurent Oget
Date: Tue, 16 Oct 2001 15:41
80 lines
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-mail
References: <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