]> Zhao Yanbai Git Server - minix.git/commit
VFS: fix pipe resumption delay bug 03/3003/1
authorDavid van Moolenbroek <david@minix3.org>
Fri, 19 Jun 2015 22:06:19 +0000 (22:06 +0000)
committerDavid van Moolenbroek <david@minix3.org>
Fri, 19 Jun 2015 22:13:34 +0000 (22:13 +0000)
commit5055c7ea51bec626819d6189dcb215ad475d322b
tree467cec8ac5432c8eeb051f32a7b622a8e72fdd9c
parente1e2bc96d2c2a83a431fe9478de7613158865cc7
VFS: fix pipe resumption delay bug

Commit 723e513 erroneously removed a yield() call from VFS which was
necessary to get resumed pipe read/write threads to run before VFS
blocks on receive().  The removal caused those threads to run only
once VFS received another message, effectively slowing down activity
on pipes to a crawl in some cases.

Instead of readding the yield() call, this patch restructures the
get_work() code to go back through the main message loop even when no
new work is received, thus ensuring that newly started threads are
always activated without requiring a special case.

This fixes #65.

Change-Id: I59b7fb9e403d87dba1a5deecb04539cc37517742
minix/servers/vfs/main.c