0585557a98
puffs_daemon(3) creates a pipe before forking, and the parent process waits for the child to either complete puffs_mount(3) or fail. If a user calls puffs_daemon(3) after puffs_mount(3), the function deadlocks. While this error-reporting functionality is really a nice thing to have, deadlocking is not great. If the filesystem has already been mounted, puffs_mount(3) should just daemonize the process and return. This became an issue because fuse_daemonize(3) in FUSE API had no such requirement and some FUSE filesystems in the wild suffered deadlocks. |
||
---|---|---|
.. | ||
Makefile | ||
TODO | ||
callcontext.c | ||
creds.c | ||
dispatcher.c | ||
flush.c | ||
framebuf.c | ||
null.c | ||
opdump.c | ||
paths.c | ||
pnode.c | ||
puffs.3 | ||
puffs.c | ||
puffs.h | ||
puffs_cc.3 | ||
puffs_cred.3 | ||
puffs_flush.3 | ||
puffs_framebuf.3 | ||
puffs_node.3 | ||
puffs_ops.3 | ||
puffs_path.3 | ||
puffs_priv.h | ||
puffsdump.h | ||
requests.c | ||
shlib_version | ||
subr.c | ||
suspend.c |