begin process at 2012 05 30 10:58:05
  Trouver un code source :
 
dans
 
Accueil > Forum > 

C++ & C++ .NET

 > 

Linux

 > 

Autre

 > 

pthread qui segfault


Derniers messages déposésPoser une question dans le forum ou lancer une discussion

pthread qui segfault

mercredi 2 mai 2007 à 16:51:37 | pthread qui segfault

FujiwaranoSai

Voila un morceau de code :


void *test(void *meuh)
{
}

bool CNetwork::initSocket()
{

        if ((_uSocket = (unsigned int)socket(AF_INET, SOCK_STREAM, IPPROTO_TCP)) == INVALID_SOCKET)
                return (false);
        printf("socket is created\n");
        int reuse = 1;
        setsockopt(_uSocket, SOL_SOCKET, SO_REUSEADDR, (const char*)&reuse, sizeof(reuse));
        pthread_t zou = 2;

         printf("il va y avoir un segfault!\n");
        pthread_create(&zou, NULL, test,NULL);
        printf("ou pas :p\n");

        return true;
}

Donc voila, ca compile bien sous linux, mais a l'exec, ca pete un segfault sur le pthread_create...
Si vous avez une idee (ou plus :p) sur la raison de ce segfault, ca m'arrangerais beaucoup :p

Merci d'avance! ^^

mercredi 2 mai 2007 à 22:55:40 | Re : pthread qui segfault

emmatopiak

Salut, 

Donc, le premier parametre de socket devrait etre PF_INET semantiquement, mais l'erreur ne vient pas de là.
___ le man de pthread_create dit cela : If the start_routine returns, the effect is as if there was an implicit call to pthread_exit() using the return value of start_routine as the exit status.___

-MAIS vu que ta fonction "test" ne fait pas un return NULL, elle va renvoyer une valeur etrange qui pourrait peut-etre faire seg-faulter pthread_exit.
-Y'a aussi le probleme de ta variable zou que tu devrais allouer dynamiquement pour eviter les problemes.
-je te conseille en gros de faire un programme qui ne contient rien que l'appel a ton pthread_create, pas de sockets ni rien d'autre, et de faire les choses proprement en faisant retourner NULL à ta fonction test.
-Et de compiler avec -Wall pour voir les warnings (notamment que test ne retourne rien)
Ca aidera je pense:p
@++

Si ca se trouve c'est ton return NULL qui manque seulement, du coup ca renvoie return RANDOM-VALUE
( qui a de grandes chances de pointer en memoire là ou faut pas )





Cette discussion est classée dans : printf, socket, pthread, segfault, reuse


Répondre à ce message

Sujets en rapport avec ce message

Probleme reception sur un serveur windows en vc++ [ par alfred ] Salut a tous!!g un probleme dans mon serveur le recv renvoie la valeur -1 et je ne vois pas pouquoi, toute mes socket sont positives le client envois pb socket [ par surfeurnet ] voici mon programme qui a pour l'instant pour unique but de se connecter à un serveur :# include # include # pragma comment (lib,"w32_32.lib")char ip, erreur 10038 [ par made_in_france ] Hello ! j'ai un probleme avec la fonction bind de mon programme. En effet cette fonction me renvois l'erreur 10038 « attempted ». Est ce que quelqu'un socket winsock grrr [ par dekai ] Voilà mon pb lorsque je tente un send ou recv j'obtient une erreur et ej comprends pas pourquoi. Merci de m'aider.Voici le code (je travaille sous dev gestion des event avec WSANETWORKEVENTS [ par Spiffou ] bonjour à tous,je voudrais votre avis sur la gestion des evenements sur les sockets.je réalise une application (un jeu) qui doit communiquer sur un ré Toujours besoin d'aide sur socket avec 2 cartes reseau [ par Jeff_Trek ] Bonjour,Je reçois des trames grace à ma socket cliente (qui doit être liée à une carte reseau), et renvoyer ces trames via une socket serveur (qui doi A' L'AIDEEEEE, problèmes avec les threads sous LINUX........... [ par garrys113 ] Salut à tous, mais navigateur habitué du site "Codes_sources.com", ki est 1 site vraiment plein de ressources. Mais venons en à mon problème de prog. Winsock2 WASEvents... [ par fraboulet ] Bonjour à tous,J'ai une question concernant winsock2, je souhaite faire un thread d'écoute de sockets. Mais je souhaite pouvoir ajouter dynamiquement probleme (segmentation) d'execution d'un thread [ par krusty24 ] salut tout le monde j'ai besoin de votre aide pour m'aider a resoudre un petit probleme d'execution de mon programme en C-ANSI ce programme permet de Sdl_net + pthread probleme d'argument [ par Defaite ] Bonjour à tous.Voila mon problème, j'ai une thread ( en Pthread ) qui devrait s'occuper d'un socket.Seulement voila, impossible de dire à ma thread co


Nos sponsors


Sondage...

Comparez les prix

CalendriCode

Mai 2012
LMMJVSD
 123456
78910111213
14151617181920
21222324252627
28293031   

Consulter la suite du CalendriCode

A découvrir



 
Développement réalisé par Nicolas SOREL (Nix) avec l'aide de : Cyril DURAND et Emmanuel (EBArtSoft), Merci à Vincent pour ses précieux conseils.
CodeS-SourceS.com© Toute reproduction même partielle est interdite sauf accord écrit du Webmaster
CodeS-SourceS.com© est une marque déposée tous droits réservés

Google Coop CodeS-SourceS Google Coop CodeS-SourceS
Temps d'éxécution de la page : 0,390 sec (3)

Nous contacter | Annoncer sur CodeS-SourceS | Mentions légales