libcasper and async-signal-safety
- Reply: Ed Maste : "Re: libcasper and async-signal-safety"
- Go to: [ bottom of page ] [ top of archives ] [ this month ]
Date: Tue, 10 Jan 2023 18:45:24 UTC
Normally when a multithreaded process forks, the child is restricted to only calling async-signal-safe functions until it exec()s.. Otherwise, bad stuff could happen like deadlocks on mutexes that will never be released. The cap_init(3) function, used to create Casper services, forks (and then its child forks again and again and again). But there's nothing in the libcasper_service(3) man page about async-signal-safety. I assume that this is just an oversight. After all, all of the existing programs in the base system that use casper are single-threaded. But it's a limitation that ought to be documented in the cap_init(3) man page, right? Or am I missing something? -Alan