set_tid_address.2: SYNOPSIS: Fix set_tid_address() return type

The Linux kernel uses 'pid_t' instead of 'long' for the return type.
As glibc provides no wrapper, use the same types the kernel uses.

$ sed -n 34,36p man-pages/man2/set_tid_address.2
.PP
.IR Note :
There is no glibc wrapper for this system call; see NOTES.

$ grep -rn 'SYSCALL_DEFINE.*set_tid_address' linux/
linux/kernel/fork.c:1632:
SYSCALL_DEFINE1(set_tid_address, int __user *, tidptr)

$ sed -n 1632,1638p linux/kernel/fork.c
SYSCALL_DEFINE1(set_tid_address, int __user *, tidptr)
{
	current->clear_child_tid = tidptr;

	return task_pid_vnr(current);
}

$ grep -rn 'task_pid_vnr(struct' linux/
linux/include/linux/sched.h:1374:
static inline pid_t task_pid_vnr(struct task_struct *tsk)

Signed-off-by: Alejandro Colomar <alx.manpages@gmail.com>
Signed-off-by: Michael Kerrisk <mtk.manpages@gmail.com>
This commit is contained in:
Alejandro Colomar 2020-11-23 22:59:12 +01:00 committed by Michael Kerrisk
parent 701b2272cd
commit 36ded6fe89
1 changed files with 1 additions and 1 deletions

View File

@ -29,7 +29,7 @@ set_tid_address \- set pointer to thread ID
.nf
.B #include <linux/unistd.h>
.PP
.BI "long set_tid_address(int *" tidptr );
.BI "pid_t set_tid_address(int *" tidptr );
.fi
.PP
.IR Note :