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