Problem mit Threads (boost)



  • Hallo
    Ich will boost Threads benutzen um einen Server zu schreiben, der mehrere Clients verwalten kann. Das ist die wichtige Stelle:

    bool App::run()
    {
        SSLSocket *newClient = NULL;
        while (running)
        {
            cout << "möp";
            newClient = serverSocket->accept();
            if (newClient != NULL)
                clients->create_thread(boost::bind(&handleClient, newClient, dbPlugin));
        }
    	return true;
    }
    
    void handleClient(SSLSocket *clientSocket, DllDB *db)
    {
        cout << "bla";
    	return;
    }
    

    Leider bekomme ich da immer einen Segmentation Fault.
    Er zeigt ein mal das möp an, dann ein bla und dann kommt der Fehler. Hat jemand eine Idee, was da sein kann?



  • Ich habe den Fehler gefunden.
    Er war tatsächlich hier:

    clients->create_thread(boost::bind(&handleClient, newClient, dbPlugin));
    

    Das Problem war aber das Zeichen: ->
    Eine Boost Thread Gruppe kann scheinbar nicht per Pointer angesprochen werden.


Anmelden zum Antworten