Probleme cast pthread_self() !!!

Bonjour,
je sais que pthread_self() retourne un pthread_t , j'ai donc fait pour l'afficher printf(".....%d",(int)pthreaf_self)
mais sa me donne des nombres negatifs incroyablement longs.

pour info, je suis sous ubuntu karmic , je compile avec gcc.

merci , je suis desespere!!!!!!
Configuration: Linux
Firefox 3.5.5

2 réponses

  • Votes
  • Date
  • Date décroissante
  1. Ce résultat ne m'étonne pas... du tout ;-)
    En effet pthread_t n'est pas (forcément) un entier. C'est ce que l'on appelle un type opaque; c'est-à-dire que son type n'est pas défini, il dépend de l'implémentation, souvent c'est un 'unsigned long' mais il peut aussi s'agir d'un pointeur sur une structure. Normalement on n'a pas se préoccuper de ce genre de détail.
    Toutefois, si cela t'intéresse, et on ne peut que t'encourager dans cette voie, il va falloir faire toi-même les recherches. Tu as deux directions:
    - la plus simple: chercher dans l'include correspondant aux pthread's,
    - la plus complète: fouiller dans les sources.
    Dans les deux cas, je te souhaite 'Bon courage'.