1
Fork 0
mirror of https://github.com/RGBCube/serenity synced 2025-05-31 11:18:11 +00:00

Kernel: Make FIFO inherit from File.

This commit is contained in:
Andreas Kling 2019-04-29 04:55:54 +02:00
parent f254a84d17
commit 0a0d739e98
18 changed files with 96 additions and 72 deletions

View file

@ -1105,11 +1105,11 @@ int Process::sys$pipe(int pipefd[2])
auto fifo = FIFO::create(m_uid);
int reader_fd = alloc_fd();
m_fds[reader_fd].set(FileDescriptor::create_pipe_reader(*fifo));
m_fds[reader_fd].set(fifo->open_direction(FIFO::Reader));
pipefd[0] = reader_fd;
int writer_fd = alloc_fd();
m_fds[writer_fd].set(FileDescriptor::create_pipe_writer(*fifo));
m_fds[writer_fd].set(fifo->open_direction(FIFO::Writer));
pipefd[1] = writer_fd;
return 0;
@ -2531,3 +2531,15 @@ ProcessTracer& Process::ensure_tracer()
m_tracer = ProcessTracer::create(m_pid);
return *m_tracer;
}
void Process::FileDescriptorAndFlags::clear()
{
descriptor = nullptr;
flags = 0;
}
void Process::FileDescriptorAndFlags::set(Retained<FileDescriptor>&& d, dword f)
{
descriptor = move(d);
flags = f;
}