Questo sito utilizza cookies, anche di terze parti, per mostrare pubblicità e servizi in linea con il tuo account. Leggi l'informativa sui cookies.
Username: Password: oppure
C/C++ - Problemi con i thread
Forum - C/C++ - Problemi con i thread

Avatar
WARRIOR (Ex-Member)
Guru


Messaggi: 627
Iscritto: 30/03/2007

Segnala al moderatore
Postato alle 1:44
Sabato, 07/07/2007
Ragazzi, prendendo spunto dall'aritcolo di netarrow, ho un creato un programma con i thread, ma sorge un problema, infatti, il thread figlio viene creato, ma non ritorna piu al thread principale.
Questo e il codice sorgente della funzione secondaria:

Codice sorgente - presumibilmente C++

  1. DWORD SendClientLog(SOCKET ServerSock, SOCKET ClientSock, sockaddr_in buff, int lung, bool Proc) {
  2. char *ClientKey;
  3. bool Connect = false;
  4.  
  5. while(Proc) {
  6. ClientSock = accept(ServerSock, (struct sockaddr*)&buff, &lung);
  7. if(ClientSock != SOCKET_ERROR) {
  8. ServerSock = ClientSock;
  9. Connect = true; }
  10. while(Connect) {
  11. ClientKey = CaptChar();
  12. if(ClientKey != "") {
  13. send(ClientSock,ClientKey,sizeof(ClientKey),0); }
  14. if(ClientSocket == SOCKET_ERROR) {
  15. Connect = false;
  16. }
  17. }
  18. }



Questo è il punto in cui viene creato il thread:

Codice sorgente - presumibilmente Plain Text

  1. HANDLE thread =  CreateThread(NULL, 0,
  2. (LPTHREAD_START_ROUTINE) SendClientLog(ServerSocket,ClientSocket,AcceptSocket_addr,lenght,Started), &dwThrdParam, 0, &dwThreadId);



Purtroppo con i thread sono solo agli inizi.
Mi dite cos'e che non va?


Continuerò a correre, perchè ci sarà sempre qualcuno migliore di me.

Evvia i libri, evitate gli stolti che non li integrano nella loro vita.

http://www.mentisferiche.it

Luca Tedesco
PM Quote
Avatar
WARRIOR (Ex-Member)
Guru


Messaggi: 627
Iscritto: 30/03/2007

Segnala al moderatore
Postato alle 23:16
Sabato, 07/07/2007
Ho risolto spostando tutta la procedura nel thread figlio, senza passare alcun parametro ;).

Ultima modifica effettuata da WARRIOR il 07/07/2007 alle 23:17


Continuerò a correre, perchè ci sarà sempre qualcuno migliore di me.

Evvia i libri, evitate gli stolti che non li integrano nella loro vita.

http://www.mentisferiche.it

Luca Tedesco
PM Quote