1
Fork 0
mirror of https://github.com/RGBCube/serenity synced 2025-07-25 17:47:44 +00:00

Kernel: Implement FIFOs/named pipes

This commit is contained in:
Peter Elliott 2020-07-16 15:23:03 -06:00 committed by Andreas Kling
parent 76e34968fa
commit d01eba6fa3
5 changed files with 69 additions and 0 deletions

View file

@ -28,7 +28,9 @@
#include <Kernel/DoubleBuffer.h>
#include <Kernel/FileSystem/File.h>
#include <Kernel/Lock.h>
#include <Kernel/UnixTypes.h>
#include <Kernel/WaitQueue.h>
namespace Kernel {
@ -48,6 +50,7 @@ public:
uid_t uid() const { return m_uid; }
NonnullRefPtr<FileDescription> open_direction(Direction);
NonnullRefPtr<FileDescription> open_direction_blocking(Direction);
void attach(Direction);
void detach(Direction);
@ -71,6 +74,10 @@ private:
uid_t m_uid { 0 };
int m_fifo_id { 0 };
WaitQueue m_read_open_queue;
WaitQueue m_write_open_queue;
Lock m_open_lock;
};
}