Skip to content

Signal safety #3

@i80and

Description

@i80and

Only select functions can be safely called within a signal handler. Currently we are doing literally nothing asynchronous-safe.

The solution will probably involve setting an exit flag on SIGINT/SIGTERM, and testing somehow inside the FUSE main loop. We should also be handling SIGSEGV to at least wipe memory, but as specified in POSIX, doing anything after the SIGSEGV handler is undefined behavior. In that case, perhaps it would be best to simply wipe any private info and terminate (abort()) but not remove any locks or flush any buffers.

Metadata

Metadata

Assignees

No one assigned

    Labels

    Type

    No type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions