Thanks @maxim ! The child workflow completed even before the signal form the parent workflow could be triggered.
So i think I don’t understand how signals work.
Say i define a ChildWorkflow with the following block before any activity execution starts, does it not mean the workflow would wait for the signal to proceed? Should i be listening to the signal in an activity or a loop to block the workflow until i get the signal?
var signal MySignal
signalChan := workflow.GetSignalChannel(ctx, "your-signal-name")
signalChan.Receive(ctx, &signal)
Edit:
I see this reply asking to run signalChan.Receive() in a loop.
I tried using a timer for the same, but got a deadlock error. Looking into the same