Kernel: Add /proc/self, a symlink to the /proc/$PID.

This will be useful for implementing things like /dev/stdin.
This commit is contained in:
Andreas Kling 2019-02-03 04:54:52 +01:00
parent c2adfd0e2d
commit e895d6c48e
Notes: sideshowbarker 2024-07-19 15:53:07 +09:00

View file

@ -150,6 +150,13 @@ ByteBuffer procfs$pid_cwd(Process& process)
return VFS::the().absolute_path(*inode).to_byte_buffer();
}
ByteBuffer procfs$self(SynthFSInode&)
{
char buffer[16];
ksprintf(buffer, "%u", current->pid());
return ByteBuffer::copy((const byte*)buffer, strlen(buffer));
}
void ProcFS::add_process(Process& process)
{
InterruptDisabler disabler;
@ -400,6 +407,7 @@ bool ProcFS::initialize()
add_file(create_generated_file("cpuinfo", procfs$cpuinfo));
add_file(create_generated_file("inodes", procfs$inodes));
add_file(create_generated_file("dmesg", procfs$dmesg));
add_file(create_generated_file("self", procfs$self, 00120777));
m_sys_dir = add_file(create_directory("sys"));
return true;
}