Wim,
that sounds very plausible. Your description means, exceptions can only be sent from a non-PM process to a non-PM process?
If I understand the DosSendSignalException docu right, the relationship between the processes (child or not) does not matter.
DosSendSignalException sends either an XCPT_SIGNAL_INTR (Ctrl+C) or an XCPT_SIGNAL_BREAK (Ctrl+Break) signal exception to another process.
But I tried to run os4users parent and child exe from different sessions and the post does not reach the "child" anymore. So it indeed seems that a relationship is necessary.
So I could start two non-pm programs, the cmd.exe and a text-based helper exe which simply sends the message forward to cmd.exe.
Meanwhile, I have tried that both non-pm programs are childs of my PM program and are started via DosExecPgm (asynchronous to get the PID). The parent can tell the helper the PID of the brother/sister. This doesn't work, too. That means, the editor has to execute the helper and the helper has to execute cmd.exe. So my editor gets a grandparent. I'll try this and report here.
Wim, why do you think that I need to implement a new session? Cmd.exe currently runs in the same session as the parent editor.
What is a good tutorial for semaphores with OS/2 ? In my german OS/2 programmers book, semaphores are missing.