¿Listar todos los hilos dentro del proceso actual?

Estoy intentando implementar un syscall que me permite obtener el número de subprocesos para el proceso actual. Soy nuevo en el kernel de Linux, por lo que mi comprensión es limitada.

Actualmente, estoy tratando de recorrer todo eltask_structs, y compare el PID del líder del grupo de hilos con el PID del líder del grupo de hilos:

// ...
int nthreads = 0;
struct task_struct *task_it;
for_each_process(task_it) {
    if (task_it->group_leader->pid == current->group_leader->pid) {
        nthreads++;
    }
}
// ...

Sin embargo, esto no parece estar funcionando (una prueba rápida que genera algunos pthreads todavía está dando1. Qué pasa con lagroup_leader ¿Es común a todos los hilos en el mismo proceso?

Respuestas a la pregunta(2)

Su respuesta a la pregunta