tools/testing/selftests/proc/self.c

Source file repositories/reference/linux-study-clean/tools/testing/selftests/proc/self.c

File Facts

System
Linux kernel
Corpus path
tools/testing/selftests/proc/self.c
Extension
.c
Size
1204 bytes
Lines
40
Domain
Support Tooling And Documentation
Bucket
tools
Inferred role
Support Tooling And Documentation: implementation source
Status
source implementation candidate

Why This File Exists

Repository support layer: documentation, build tooling, samples, user-space helper tools, generated initramfs support, licenses, and validation utilities.

Dependency Surface

Detected Declarations

Annotated Snippet

// Test that /proc/self gives correct TGID.
#undef NDEBUG
#include <assert.h>
#include <stdio.h>
#include <unistd.h>

#include "proc.h"

int main(void)
{
	char buf1[64], buf2[64];
	pid_t pid;
	ssize_t rv;

	pid = sys_getpid();
	snprintf(buf1, sizeof(buf1), "%u", pid);

	rv = readlink("/proc/self", buf2, sizeof(buf2));
	assert(rv == strlen(buf1));
	buf2[rv] = '\0';
	assert(streq(buf1, buf2));

	return 0;
}

Annotation

Implementation Notes