Est-ce que quelqu'un sait pour obtenir l'ID de thread en cours en tant qu'entier sur BSD?comment obtenir l'ID de thread en tant qu'entier sur BSD en C/C++?
J'ai trouvé ce
#ifdef RTHREADS
299 STD { pid_t sys_getthrid(void); }
300 STD { int sys_thrsleep(void *ident, int timeout, void *lock); }
301 STD { int sys_thrwakeup(void *ident, int n); }
302 STD { int sys_threxit(int rval); }
303 STD { int sys_thrsigdivert(sigset_t sigmask); }
#else
299 UNIMPL
300 UNIMPL
301 UNIMPL
302 UNIMPL
303 UNIMPL
#endif
et essayé (long) syscall (229), mais ne fonctionne pas (il se bloque). Sur Linux, je peux obtenir un ID de thread avec system call (long) syscall (224) qui me donne un entier (généralement 4 chiffres). Quelqu'un peut-il aider ?! Je vous remercie.
c'est nouveau pour moi. bonne info! merci beaucoup, bravo! – Lini
Sur FreeBSD, il y a aussi la fonction pthread_getthreadid_np(): https://www.freebsd.org/cgi/man.cgi?pthread_getthreadid_np –