tDevFS_Driver gFIFO_DriverInfo = {
NULL, "fifo",
{
+ .Size = 1,
.NumACLs = 1,
.ACLs = &gVFS_ACL_EveryoneRW,
.Flags = VFS_FFLAG_DIRECTORY,
char *FIFO_ReadDir(tVFS_Node *Node, int Id)
{
tPipe *tmp = gFIFO_NamedPipes;
+
// Entry 0 is Anon Pipes
if(Id == 0) return strdup("anon");
while(remaining)
{
// Wait for buffer to fill
- if(pipe->Flags & PF_BLOCKING)
- while(pipe->ReadPos == pipe->WritePos)
+ if(pipe->Flags & PF_BLOCKING) {
+ while(pipe->ReadPos == pipe->WritePos) {
Threads_Yield();
+ //MAGIC_BREAK();
+ }
+ }
else
if(pipe->ReadPos == pipe->WritePos)
return 0;
memset(ret, 0, allocsize);
ret->Name = Name;
+ ret->Flags = PF_BLOCKING;
// Allocate Buffer
ret->BufSize = Size;