Les Threads... J'en remet une couche :)
Bon... J'ai vraiment des souci avec les threads dans mon programme...
Pour créer une thread j'utilise la fonction :
Code:
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:
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 :/