"erreur de segmentation" avec les threads sous linux en C++ - C++ - Programmation
Marsh Posté le 15-12-2005 à 18:12:47
ReplyMarsh Posté le 16-12-2005 à 09:53:15
| bjone a écrit : et sans le "0" ?  | 
 
 
c'est ce qui est passé en paramètre my_thread_process(void* arg) dans l'exemple que j'ai vu il font la même chose avec "1" ou "2", je sais pas quoi mettre a la place... 
Marsh Posté le 16-12-2005 à 09:53:37
ReplyMarsh Posté le 16-12-2005 à 10:15:15
ReplyMarsh Posté le 16-12-2005 à 10:18:48
| TheShot a écrit : c'est ce qui est passé en paramètre my_thread_process(void* arg) dans l'exemple que j'ai vu il font la même chose avec "1" ou "2", je sais pas quoi mettre a la place... | 
 
 
NULL ou 0 si tu t'en sers pas. 
pas "0".
Marsh Posté le 16-12-2005 à 10:34:35
ReplyMarsh Posté le 16-12-2005 à 10:52:51
&threadId[_threadCounter] 
tu es sur de ne pas faire de dépassement de tableau ?
Marsh Posté le 16-12-2005 à 11:06:50
_threadCounter est initialisé a 0 dans le constructeur et le programme n'arrive pas au _threadCounter++. 
Par contre my_thread_process est déclaré en static dans la classe et pas dans la définition, vous pensez que ça peut poser un problème ? 
 
| Code : 
 | 
Marsh Posté le 16-12-2005 à 11:25:41
et threadId est déclaré comment ? ton problème vient aussi peut-etre du code exécuté dans le nouveau thread
Marsh Posté le 16-12-2005 à 11:33:34
| blackgoddess a écrit : et threadId est déclaré comment ? ton problème vient aussi peut-etre du code exécuté dans le nouveau thread | 
 
 
j'ai fais : 
pthread_t threadId[1000] ; 
 
sinon j'ai mis tout le code a l'intérieur du thread en commentaire et ça fais la même chose 
Marsh Posté le 17-12-2005 à 03:10:53
mmh je vois pas ... peux-tu poster le minimum de code qui reproduise ton problème, et qui forme une source compilable ?
Marsh Posté le 18-12-2005 à 00:18:15
| TheShot a écrit : _threadCounter est initialisé a 0 dans le constructeur et le programme n'arrive pas au _threadCounter++.  
 | 
 
C'est juste pour l'exemple, ou tu incrémentes _threadcounter même si pthread_create foire ?   Si tu vas dans le if de multiples fois, tu peux faire exploser ton tableau threadId.
 Si tu vas dans le if de multiples fois, tu peux faire exploser ton tableau threadId.
Marsh Posté le 15-12-2005 à 17:29:21
Salut !
J'utilise pthread.h pour gérer les threads sous linux mais mon programme crash sur la fonction pthread_create et linux me dis "erreur de segmentation"
my_thread_process est ma méthode statique qui contient le code du thread. Auriez vous une idée d'où pourrait provenir l'erreur ? ou au pire une autre lib qui permette de gérer les threads sous linux ?