Hi Snorri,
An option that I recommend to handle application events, is to have the parent program write to a database table with "events".
Then any (child) program can from time to time query that table (triggered by an ON IDLE)
The advantage of this solution is that you keep the trace of the events, and you can define as much info as you want to filter, mark as read/processed, etc...
CREATE TABLE app_events (
evt_num BIGSERIAL NOT NULL PRIMARY KEY,
evt_source VARCHAR(30) NOT NULL,
evt_ts DATETIME YEAR TO FRACTION(3) NOT NULL,
evt_groupid INTEGER,
evt_status CHAR(1) NOT NULL,
...
But maybe that's over-engineered for your case...
Seb