svn commit: r347434 - projects/fuse2/sys/fs/fuse
Alan Somers
asomers at FreeBSD.org
Fri May 10 16:31:52 UTC 2019
Author: asomers
Date: Fri May 10 16:31:51 2019
New Revision: 347434
URL: https://svnweb.freebsd.org/changeset/base/347434
Log:
fusefs: minor optimization to interrupted fuse operations
If the daemon is known to ignore FUSE_INTERRUPT, then we may as well block
all signals while waiting for a response.
Sponsored by: The FreeBSD Foundation
Modified:
projects/fuse2/sys/fs/fuse/fuse_ipc.c
Modified: projects/fuse2/sys/fs/fuse/fuse_ipc.c
==============================================================================
--- projects/fuse2/sys/fs/fuse/fuse_ipc.c Fri May 10 16:01:25 2019 (r347433)
+++ projects/fuse2/sys/fs/fuse/fuse_ipc.c Fri May 10 16:31:51 2019 (r347434)
@@ -442,7 +442,13 @@ fticket_wait_answer(struct fuse_ticket *ftick)
int err = 0, stops_deferred;
struct fuse_data *data;
- SIGEMPTYSET(blockedset);
+ if (fsess_isimpl(ftick->tk_data->mp, FUSE_INTERRUPT)) {
+ SIGEMPTYSET(blockedset);
+ } else {
+ /* May as well block all signals */
+ SIGFILLSET(blockedset);
+ SIGDELSET(blockedset, SIGKILL);
+ }
stops_deferred = sigdeferstop(SIGDEFERSTOP_SILENT);
kern_sigprocmask(td, SIG_BLOCK, NULL, &oldset, 0);
More information about the svn-src-projects
mailing list