File: gettid.c

package info (click to toggle)
dtrace 2.0.5-1
  • links: PTS
  • area: main
  • in suites: sid
  • size: 24,408 kB
  • sloc: ansic: 61,247; sh: 17,997; asm: 1,717; lex: 947; awk: 754; yacc: 695; perl: 37; sed: 17; makefile: 15
file content (24 lines) | stat: -rw-r--r-- 612 bytes parent folder | download
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
/*
 * Oracle Linux DTrace; get the kernel-level ID of the current thread.
 * Copyright (c) 2023, Oracle and/or its affiliates. All rights reserved.
 * Licensed under the Universal Permissive License v 1.0 as shown at
 * http://oss.oracle.com/licenses/upl.
 */

#include <sys/syscall.h>
#include <unistd.h>

/*
 * This is only used if glibc does not provide an implementation.
 *
 * The kernel always has an implementation of this function.
 */

pid_t gettid(void)
{
#ifdef __NR_gettid
	return syscall(__NR_gettid);
#else
#error The kernel does not define gettid(), and glibc is too old to implement it.
#endif
}