浏览代码

Kernel: Do not panic on fstat(fifo)

Instead, let's return an empty buffer with st_mode indicating it's a fifo.
Sergey Bugaev 5 年之前
父节点
当前提交
e9dd94063f
共有 1 个文件被更改,包括 6 次插入1 次删除
  1. 6 1
      Kernel/FileSystem/FileDescription.cpp

+ 6 - 1
Kernel/FileSystem/FileDescription.cpp

@@ -48,7 +48,12 @@ FileDescription::~FileDescription()
 
 KResult FileDescription::fstat(stat& buffer)
 {
-    ASSERT(!is_fifo());
+    if (is_fifo()) {
+        memset(&buffer, 0, sizeof(buffer));
+        buffer.st_mode = 001000;
+        return KSuccess;
+    }
+
     if (!m_inode)
         return KResult(-EBADF);
     return metadata().stat(buffer);