I have PEG (PegTaskMain) blocking the execution of my RX task with a lwsemaphore for up to a minute. All I am doing is just passing a PegMessage via Peg's MessageQueue. It resumes and starts working again, but the blocking is painful.
The is what I call from my RX (MODE) task:
PegMessage msg = PegMessage();
msg.Type = MSGTYPE_QUICKCARD_UPDATE;
msg.pTarget = pGUIBridgeWin;
msg.Param = j;
msg.pData = buff;
statuswindow::MessageQueue()->Fold(&msg);
// Push works with Same results.