Bon... J'ai vraiment des souci avec les threads dans mon programme...

Pour créer une thread j'utilise la fonction :
Code : Sélectionner tout - Visualiser dans une fenêtre à part
thread = CreateThread(NULL, 0, (LPTHREAD_START_ROUTINE)startRoutine, _params, 0, threadId);
Qui à l'aire de fonctionné correctement si ce n'est qu'elle plante inlassablement lorsque je l'appel et que j'ai déja une thread en route dans mon programme.
Engros si je faire :
Création de thread 1 ... OK
Création de thread 2 ... Segfault

Création de thread 1 ... OK
Fermeture de thread1 ... OK
Création de thread 2 ... OK
Fermeture de thread2 ... OK
etc...

Dr. Mingw me ressort ca :
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
kiriliam_server.exe caused an Access Violation at location 7c8107c6 in module kernel32.dll Writing to location e9746365.
 
Registers:
eax=e9746365 ebx=00000000 ecx=00000b0c edx=7c91eb94 esi=ffffffff edi=00000001
eip=7c8107c6 esp=0022f928 ebp=0022fd54 iopl=0         nv up ei ng nz na po nc
cs=001b  ss=0023  ds=0023  es=0023  fs=003b  gs=0000             efl=00000286
 
Call stack:
7C8107C6  kernel32.dll:7C8107C6  CreateRemoteThread
7C81084D  kernel32.dll:7C81084D  CreateThread
004058B6  kiriliam_server.exe:004058B6  Thread::Start(void*)  thread.cpp:53
                LogWriter::Echo("Thread : param=%p\n", _params);
	...
>	thread = CreateThread(NULL, 0, (LPTHREAD_START_ROUTINE)startRoutine, _params, 0, threadId);
	LogWriter::Echo("Thread : param=%p\n", _params);
	...
Je suis completement paumé la :/