IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

MFC Discussion :

[MFC] thread : erreur bloquante


Sujet :

MFC

  1. #1
    Membre du Club
    Inscrit en
    Juin 2004
    Messages
    111
    Détails du profil
    Informations forums :
    Inscription : Juin 2004
    Messages : 111
    Points : 53
    Points
    53
    Par défaut [MFC] thread : erreur bloquante
    Bonjour,
    Je travaille depuis peu sur une application multithread.
    Apres que les threads soient lancés, et que certains traitements soient effectués, le programme se bloque... Lorsque j'appuie sur le bouton "pause" du débugger, j'arrive dans le fichier "thrdcore.cpp" à l'endroit ou le code est soulignée.
    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
    17
    18
    19
    20
    21
    22
    23
    24
    25
    26
    27
    28
    29
    30
    31
    32
    33
    34
    35
    36
     
    BOOL AFXAPI AfxInternalPumpMessage()
    {
    	_AFX_THREAD_STATE *pState = AfxGetThreadState();
     
    	[u][b]if (!::GetMessage(&(pState->m_msgCur), NULL, NULL, NULL))[/b][/u]	{
    #ifdef _DEBUG
    		TRACE(traceAppMsg, 1, "CWinThread::PumpMessage - Received WM_QUIT.\n");
    			pState->m_nDisablePumpCount++; // application must die
    #endif
    		// Note: prevents calling message loop things in 'ExitInstance'
    		// will never be decremented
    		return FALSE;
    	}
     
    #ifdef _DEBUG
      if (pState->m_nDisablePumpCount != 0)
    	{
    	  TRACE(traceAppMsg, 0, "Error: CWinThread::PumpMessage called when not permitted.\n");
    	  ASSERT(FALSE);
    	}
    #endif
     
    #ifdef _DEBUG
    	_AfxTraceMsg(_T("PumpMessage"), &(pState->m_msgCur));
    #endif
     
      // process this message
     
    	if (pState->m_msgCur.message != WM_KICKIDLE && !AfxPreTranslateMessage(&(pState->m_msgCur)))
    	{
    		::TranslateMessage(&(pState->m_msgCur));
    		::DispatchMessage(&(pState->m_msgCur));
    	}
      return TRUE;
    }
    Savez-vous d'ou peux venir l'erreur?
    merci d'avance[/quote]

  2. #2
    Membre du Club
    Inscrit en
    Juin 2004
    Messages
    111
    Détails du profil
    Informations forums :
    Inscription : Juin 2004
    Messages : 111
    Points : 53
    Points
    53
    Par défaut
    J'ai l'impression que c'est lorsque deux threads se "bloquent" quasiement simultanement... une idée?

  3. #3
    Rédacteur
    Avatar de farscape
    Homme Profil pro
    Développeur informatique
    Inscrit en
    Novembre 2003
    Messages
    9 055
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Alpes Maritimes (Provence Alpes Côte d'Azur)

    Informations professionnelles :
    Activité : Développeur informatique
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Novembre 2003
    Messages : 9 055
    Points : 17 323
    Points
    17 323
    Par défaut
    tout depend ce que tu fais avec tes threads ...
    attention pas de gui MFC dans un thread de travail voir faq.
    http://c.developpez.com/faq/vc/?page...d#WorkerThread

  4. #4
    Membre du Club
    Inscrit en
    Juin 2004
    Messages
    111
    Détails du profil
    Informations forums :
    Inscription : Juin 2004
    Messages : 111
    Points : 53
    Points
    53
    Par défaut
    je ne fais pas de gui MFC dans mes threads de travail...

  5. #5
    Membre du Club
    Inscrit en
    Juin 2004
    Messages
    111
    Détails du profil
    Informations forums :
    Inscription : Juin 2004
    Messages : 111
    Points : 53
    Points
    53
    Par défaut
    Encore plus étrange : quand je met des points d'arrêts, ça fonctionne... quand je les enlève, ça ne marche plus

Discussions similaires

  1. [MFC] Thread bloquant et sockets
    Par wogkiller dans le forum Threads & Processus
    Réponses: 8
    Dernier message: 09/06/2008, 15h37
  2. [MFC] Thread
    Par romeo9423 dans le forum MFC
    Réponses: 2
    Dernier message: 25/03/2005, 14h20
  3. [MFC] Thread & memory leaks
    Par Racailloux dans le forum MFC
    Réponses: 7
    Dernier message: 15/03/2005, 12h44
  4. [Thread] Erreur dans une classe interne
    Par totof2308 dans le forum Général Java
    Réponses: 5
    Dernier message: 03/06/2004, 08h15
  5. Réponses: 3
    Dernier message: 11/02/2004, 12h50

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo