Estoy trabajando en glibc y necesito obtener el id del hilo actual. Para esto yo uso syscall(SYS_gettid);
El problema es que estoy obligado a incluir bits/syscall.h
en lugar de caso ideal, es decir sys/syscall.h
.call gettid witin glibc
sys/syscall.h
llamadas internas bits/syscall.h
pero eso se envuelve con #ifndef _LIBC
macro. es decir
#ifndef _LIBC
/* The Linux kernel header file defines macros `__NR_<name>', but some
programs expect the traditional form `SYS_<name>'. So in building libc
we scan the kernel's list and produce <bits/syscall.h> with macros for
all the `SYS_' names. */
# include <bits/syscall.h>
#endif
también bits/syscall.h
establece que "Nunca use bits/syscall.h directamente; incluyen SYS/syscall.h lugar."
Desde _LIBC
se definirá en mi caso ya que estoy escribiendo código directamente en malloc.c
, Para sugerir mi ¿Cómo puedo superar esto.
Gracias, Kapil
¿Por qué no simplemente usas '__NR_gettid'? –