I have an App Indicator project that create a dynamically built launch menu.
The launch menu runs applications by fork/exec. I need to destroy the app indicator in the forked child or somehow get it to release all it's handles/mutexes or whatever. How do I close/release all these references from the forked child process?
The reason is that the menu sticks around after the parent AppIndicator process has exited. There must be a way to prevent this from happening.
It seems that this did the trick:
AppIndicator * appind = app_indicator_new( /*params*/ )
// ... use appind
fork();
g_object_unref(G_OBJECT(appind)); // remove reference
execlp( /*params*/ );