Probably the best strategy here is to change 'handler' in __enter__ to kill the process and do something to indicate to parent processes that it was a timeout that did it (like logging an OOPS, or using a particular return code or both).
Some work will be required to do the translation in a neat way. We probably want to preserve the property that only one oops gets logged and that oops is a timeout error. We can probably suffer a little noise in the log.
Probably the best strategy here is to change 'handler' in __enter__ to kill the process and do something to indicate to parent processes that it was a timeout that did it (like logging an OOPS, or using a particular return code or both).
Some work will be required to do the translation in a neat way. We probably want to preserve the property that only one oops gets logged and that oops is a timeout error. We can probably suffer a little noise in the log.