Does anyone have a workaround for this problem?
Has anyone tried MUPIP INTRPT? Would that interrupt a process while it was in a hang state?
In a GT.M process:
From another shell process:
mupip intrpt pid
This seems to work. The hang command is interrupted and restarted after the interrupt. So if you have been waiting 250 seconds then you would wait another 300 seconds after the interrupt, but this is better than waiting one hour.
Actually, it's not even necessary to set $zinterrupt, so there's no need to make any application code changes at all.
All you need to do is issue a mupip intrpt to all GT.M processes immediately after a time change and everything will step back into line.