diff --git a/src/tests/tracing/eventpipe/common/IpcTraceTest.cs b/src/tests/tracing/eventpipe/common/IpcTraceTest.cs index 72f6ec7d4313bf5beccc118306a4e31a3314ed79..be29f7a3509da6e2310cc2df0f5bcebe5a47758e 100644 --- a/src/tests/tracing/eventpipe/common/IpcTraceTest.cs +++ b/src/tests/tracing/eventpipe/common/IpcTraceTest.cs @@ -282,8 +282,15 @@ private int Validate() } }); + var waitSentinelEventTask = new Task(() => { + sentinelEventReceived.WaitOne(); + }); + readerTask.Start(); - sentinelEventReceived.WaitOne(); + waitSentinelEventTask.Start(); + + // Will throw if the reader task throws any exceptions before signaling sentinelEventReceived. + Task.WaitAny(readerTask, waitSentinelEventTask); Logger.logger.Log("Starting event generating action..."); _eventGeneratingAction();