#POSIX #C #programming

So, you want to launch some external tool. Ok, fork()/exec() is simple enough.

But you don’t want to “care” for it (wait()) if it’s running longer. Ok, just fork some intermediate child, init will adopt it when this child exits.

But wait … you do want to know if execution itself fails … or if the tool exits “somewhat quickly” with an error. Okay, this will be interesting …

Seriously, I’m quite unsure whether this code here is correct. But it’s surprisingly large for that “simple” job.
https://github.com/Zirias/xmoji/blob/master/src/bin/xmoji/xdgopen.c#L56