"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.
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 ?