Comments (4)
The reason for the signal handlers was to abstract the differences between WinFsp and libfuse.
WinFsp unmounts on the windows equivalent of SIGINT I think, so using SIGINT (ctrl-C at the terminal) and SIGTERM (kill $pid) seem sensible.
I think many unix programs use SIGHUP for other things (eg reload the config) so I think cgofuse shouldn't trap that.
You might want to include SIGQUIT (ctrl-\ from most keyboards) also, though SIGQUIT does something special with go programs and that is produce a backtrace of all running goroutines before killing it.
from cgofuse.
I modified cgofuse to not catch SIGHUP
.
I am less certain about catching SIGQUIT
. According to Changing the behavior of signals in Go programs:
Notify disables the default behavior for a given set of asynchronous signals and instead delivers them over one or more registered channels. Specifically, it applies to the signals SIGHUP, SIGINT, SIGQUIT, SIGABRT, and SIGTERM.
So this would mean that catching SIGQUIT
would disable the default Go behavior for this signal, which would probably be frowned upon by Go programmers that rely on the default behavior (getting Go stacktraces).
from cgofuse.
That seems like a sensible plan to leave out SIGQUIT
. SIGTERM
and SIGINT
are by far the most popular signals anyway.
from cgofuse.
Thanks for the confirmation. Closing this.
from cgofuse.
Related Issues (20)
- Virtio-FS disk not showing after upgrade to 1.9 from 1.9B2. HOT 1
- On macOS, under load, files appearing twice or disappearing when running `ls`, unless `readdir` is sorted HOT 14
- Occasional crash under Windows - use after free? HOT 9
- . HOT 1
- Write method not called HOT 1
- Enable LOCK feature HOT 2
- How to increase buffer size? (max_pages and libfuse3) HOT 1
- Mount and Unmount Result
- Mixup of O_EXCL and O_TRUNC constant values CGO vs non CGO HOT 13
- warning: "FUSE_USE_VERSION" redefined HOT 1
- possible to call cheat engine with cgofuse HOT 1
- Support ARM architecture on Linux
- Incorrect writes from fuse HOT 12
- Need to know when the fuse service is ready HOT 4
- Please provide a way to retrieve information about the fuse implementation
- memfs example problems
- Golang Windows Passthrough version HOT 1
- command line options for Memfs HOT 8
- How can I not let it download video/image files automatically? HOT 3
- Mirrorfs? HOT 2
Recommend Projects
-
React
A declarative, efficient, and flexible JavaScript library for building user interfaces.
-
Vue.js
🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.
-
Typescript
TypeScript is a superset of JavaScript that compiles to clean JavaScript output.
-
TensorFlow
An Open Source Machine Learning Framework for Everyone
-
Django
The Web framework for perfectionists with deadlines.
-
Laravel
A PHP framework for web artisans
-
D3
Bring data to life with SVG, Canvas and HTML. 📊📈🎉
-
Recommend Topics
-
javascript
JavaScript (JS) is a lightweight interpreted programming language with first-class functions.
-
web
Some thing interesting about web. New door for the world.
-
server
A server is a program made to process requests and deliver data to clients.
-
Machine learning
Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.
-
Visualization
Some thing interesting about visualization, use data art
-
Game
Some thing interesting about game, make everyone happy.
Recommend Org
-
Facebook
We are working to build community through open source technology. NB: members must have two-factor auth.
-
Microsoft
Open source projects and samples from Microsoft.
-
Google
Google ❤️ Open Source for everyone.
-
Alibaba
Alibaba Open Source for everyone
-
D3
Data-Driven Documents codes.
-
Tencent
China tencent open source team.
from cgofuse.