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

C Discussion :

nanosleep et timespec_t : storage size isn't known


Sujet :

C

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre averti
    Profil pro
    Inscrit en
    Décembre 2013
    Messages
    31
    Détails du profil
    Informations personnelles :
    Localisation : Belgique

    Informations forums :
    Inscription : Décembre 2013
    Messages : 31
    Par défaut nanosleep et timespec_t : storage size isn't known
    Bonjour,

    Voilà, j'ai une erreur qui me casse la tête.
    Voici le simple bout de code que j'utilise :
    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
    #include <pthread.h>
    #include <stdlib.h>
    #include <stdio.h>
     
    void* threadLambda(void* param)
    {
        struct timespec_t t;
     
        t.tv_sec = 5; t.tv_nsec = 0;
        nanosleep(&t, NULL);
     
        exit(0);
    }
     
    int main()
    {
        pthread_t thread;
     
        if (pthread_create(&thread, NULL, threadLambda, NULL) != 0)
    	return 1;
     
        while(1);
     
        return 0;
    }
    Pour compiler : cc -o test test.c -lpthread
    A la compilation, il me sort :
    test.c:7:error storage size of 't' isn't known
    On dirait qu'il ne connait pas la définition de timespec. Or celle-ci est définie dans pthread.t, non ?
    Je travaille avec cc v3.4.3 sur Solaris 10.
    Si il vous faut d'autres infos, n'hésitez pas à demander.
    Je pense que le problème doit venir de la version de mes librairies(trop vieilles).. Ou alors une option dans la compilation que j'aurais oublié..

    Pourriez-vous m'aiguiller ?

    Merci.

  2. #2
    Expert confirmé
    Avatar de gerald3d
    Homme Profil pro
    Conducteur de train
    Inscrit en
    Février 2008
    Messages
    2 315
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 55
    Localisation : France, Côte d'Or (Bourgogne)

    Informations professionnelles :
    Activité : Conducteur de train
    Secteur : Transports

    Informations forums :
    Inscription : Février 2008
    Messages : 2 315
    Billets dans le blog
    5
    Par défaut
    En cherchant un peu j'ai l'impression que ta structure timespec_t fait plutôt partie de time.h. Je me trompe peut être...

  3. #3
    Membre averti
    Profil pro
    Inscrit en
    Décembre 2013
    Messages
    31
    Détails du profil
    Informations personnelles :
    Localisation : Belgique

    Informations forums :
    Inscription : Décembre 2013
    Messages : 31
    Par défaut
    Même en incluant time.h, ça ne marche pas.
    De plus, pthread.h contient la définition de timespec via time.h.

    Bon sang, j'ai essayé pas moins de 26000 solutions trouvées sur le net, et pas moyen..

  4. #4
    Inactif  


    Homme Profil pro
    Doctorant sécurité informatique — Diplômé master Droit/Économie/Gestion
    Inscrit en
    Décembre 2011
    Messages
    9 026
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 32
    Localisation : France, Loire (Rhône Alpes)

    Informations professionnelles :
    Activité : Doctorant sécurité informatique — Diplômé master Droit/Économie/Gestion
    Secteur : Enseignement

    Informations forums :
    Inscription : Décembre 2011
    Messages : 9 026
    Par défaut
    Bonjour,

    Je crois que tu confond timespec et timespec_t.

    Cf man nanosleep.

  5. #5
    Membre averti
    Profil pro
    Inscrit en
    Décembre 2013
    Messages
    31
    Détails du profil
    Informations personnelles :
    Localisation : Belgique

    Informations forums :
    Inscription : Décembre 2013
    Messages : 31
    Par défaut
    J'avais déjà essayé de remplacer timespec par timespec_t. Rien n'y change.
    Pire encore, quand j'utilise timespec, il ne reconnait pas le type même en incluant time.h.


  6. #6
    Inactif  


    Homme Profil pro
    Doctorant sécurité informatique — Diplômé master Droit/Économie/Gestion
    Inscrit en
    Décembre 2011
    Messages
    9 026
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 32
    Localisation : France, Loire (Rhône Alpes)

    Informations professionnelles :
    Activité : Doctorant sécurité informatique — Diplômé master Droit/Économie/Gestion
    Secteur : Enseignement

    Informations forums :
    Inscription : Décembre 2011
    Messages : 9 026
    Par défaut
    Es-tu sûr que Solaris respecte la norme POSIX 2001 ?

  7. #7
    Expert confirmé
    Avatar de gerald3d
    Homme Profil pro
    Conducteur de train
    Inscrit en
    Février 2008
    Messages
    2 315
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 55
    Localisation : France, Côte d'Or (Bourgogne)

    Informations professionnelles :
    Activité : Conducteur de train
    Secteur : Transports

    Informations forums :
    Inscription : Février 2008
    Messages : 2 315
    Billets dans le blog
    5
    Par défaut
    Effectivement je pense que Neckara à raison. De ce que je trouve sur le Net est que timespec_t est un #typedef de struct timespec.

+ Répondre à la discussion
Cette discussion est résolue.

Discussions similaires

  1. Réponses: 11
    Dernier message: 28/09/2012, 17h33
  2. _S_IFREG isn't known - version de compilateur ?
    Par Kaamui dans le forum Débuter
    Réponses: 10
    Dernier message: 16/02/2012, 15h56
  3. [font.size] Comment descendre en dessous de 8 ?
    Par Dry dans le forum Composants VCL
    Réponses: 3
    Dernier message: 23/04/2004, 16h01
  4. pb de select avec size avec choix multiple
    Par La_picolle dans le forum ASP
    Réponses: 10
    Dernier message: 28/08/2003, 15h21
  5. Erreur "size array"
    Par boobob dans le forum C
    Réponses: 3
    Dernier message: 06/08/2003, 10h18

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