Forum |  HardWare.fr | News | Articles | PC | S'identifier | S'inscrire | Shop Recherche
768 connectés 

  FORUM HardWare.fr
  Programmation
  C

  Pthread problème état joinable

 


 Mot :   Pseudo :  
 
Bas de page
Auteur Sujet :

Pthread problème état joinable

n°1506423
yolas22
Posté le 23-01-2007 à 17:18:28  profilanswer
 

Bonjour,  
( sous linux red hat).
Je suis fasse à un problème trés étrange je n'arrive pas à avoir le fonctionnement voulu avec des pthreads en état join.
Je m'explique, le processus lançant le thread ne l'attend pas il continu son bonhomme de chemin.  
Pourtant j'ai essayer de diverses manières rien y fait.
Le même programme fonctionne sous mandrake sans problème.
je précise que j'ai parcouru le man et le net un certain nombre de fois mais rien trouvé sur ce probléme.
Si vous avez une piste je suis preneur.

mood
Publicité
Posté le 23-01-2007 à 17:18:28  profilanswer
 

n°1506522
Ace17
Posté le 23-01-2007 à 23:03:02  profilanswer
 

Peux tu montrer ton code? Je ne suis pas sur de comprendre ce que tu veux faire.

n°1506587
Taz
bisounours-codeur
Posté le 24-01-2007 à 09:13:14  profilanswer
 

ben pthread_join

n°1506597
yolas22
Posté le 24-01-2007 à 09:33:48  profilanswer
 

Oui taz j'ai utilisé le pthread_join est c'est bien ce qui me posais problème ça ne fonctionnait pas comme voulu.
Bref j'ai revu mon code j'ai tout repris en plus simple et il c'est avéré qu'aucune des fonctions liés au thread sous la red hat que j'ai n'accpete un *bidul en parametre mais seulement le &bidul.  
(c'est stupide j'aurai du y penser avant mais bon trop bloqué dans le code et dans le man peut être.)  
De plus le paramétre NULL dans le pthread_join fonctionne bien alors que si je lui entre le "void **thread_return" ça bloque.
 
voila ce qui fonctionne du coup :  
pthread_attr_t thread_attr;
if (pthread_attr_init (&thread_attr) != 0) {
fprintf (stderr, "pthread_attr_init error" );
exit (1);
}
if (pthread_attr_setdetachstate(&thread_attr, PTHREAD_CREATE_JOINABLE)!= 0) {
fprintf (stderr, "pthread_attr_setdetachstate error" );
exit (1);
}
/*creation du thread*/
pthread_join(th,NULL);
 

n°1506617
Taz
bisounours-codeur
Posté le 24-01-2007 à 10:10:36  profilanswer
 

les thread sont joinables par défaut.
 
rien compris à ton histoire d'*, compile avec -Wall et apprend le C.

n°1507753
yolas22
Posté le 27-01-2007 à 12:48:01  profilanswer
 

Salut.  
Merci pour ta méprise Taz, pour ce qui est du * c'est juste que sur un système la fonction accepte un pointeur ou une adresse et que sur un autre n'accepte qu'une adresse.
Toutes mes excuses si je n'ai pas été suffisamment clair.  
Et pour ce qui est de l'état joinables par défaut si tu a suivi je le savais puisque j'ai lu le man comme beaucoup de monde.
Cependant lorsque j'utilisais la fonction pthread_join sans une initialisation manuel cela ne fonctionnais pas correctement sur tout les systèmes.
Il est appréciable de comprendre ce que dise les gens avant de juger leur niveau technique.
 
merci de vos réponses.

n°1507754
Ace17
Posté le 27-01-2007 à 12:59:15  profilanswer
 

yolas22 a écrit :

c'est juste que sur un système la fonction accepte un pointeur ou une adresse et que sur un autre n'accepte qu'une adresse.


Dans le cas d'un parametre, c'est la meme chose, pointeur et adresse.
 
Et si ce que tu veux dire, pour parler dans ton langage, c'est une fonction qui accepte "*bidule" et "&bidule", ca me parait plus que fumeux ... une fonction qui "devine" la nature de ce qu'on lui passe en parametre, ca n'existe pas.  
 
 

n°1508196
yolas22
Posté le 29-01-2007 à 14:12:18  profilanswer
 

Bien que je comprenne votre scepticisme, je ne peut pas passer un pointeur en parametre de certaine fonction sous red hat alors que ces même fonctions l'acceptent sous mandrake.
Il ne sert à rien d'épiloguer sur ce problème minime, je n'arrivais pas à savoir ou mon programme planter exactement voila tout.
Mais je suis d'accord les fonctions ne devineront pas la nature de ce qu'on leur donne en paramètre.
Pour ce qui est du bidul ce n'est qu'une représentation je ne pensais pas que ça générait autant.


Aller à :
Ajouter une réponse
  FORUM HardWare.fr
  Programmation
  C

  Pthread problème état joinable

 

Sujets relatifs
Problème de conversion de temps en fonction de timezone[Résolu] [MySQL] Problème nombre commençant par zéro
Probleme de conception : Apache XML RPC + SpringProblème développement
[C] Liste chaibee Double ProblemePetit problème de conception (UML)
callback vers un fonction membre, sans parametre "user"[HTML/CSS] Problème affichage d'images
Génerer un xml (rss) a partir d'une base de données mySQLaide pour un problème de décalage de texte en CSS
Plus de sujets relatifs à : Pthread problème état joinable


Copyright © 1997-2022 Hardware.fr SARL (Signaler un contenu illicite / Données personnelles) / Groupe LDLC / Shop HFR