@@ -2531,6 +2531,11 @@ void CP_ReaderRequestStepHandler(CManager cm, CMConnection conn, void *Msg_v, vo
2531
2531
2532
2532
STREAM_MUTEX_LOCK (CP_WSR_Stream -> ParentStream );
2533
2533
CPTimestepList List = Stream -> QueuedTimesteps ;
2534
+ if (Stream -> CloseMessagesSent )
2535
+ {
2536
+ CP_verbose (Stream , TraceVerbose , "In RequestStepHandler, stream closing, ignore\n" );
2537
+ STREAM_MUTEX_UNLOCK (CP_WSR_Stream -> ParentStream );
2538
+ }
2534
2539
int RequestingReader = -1 ;
2535
2540
for (int i = 0 ; i < Stream -> ReaderCount ; i ++ )
2536
2541
{
@@ -2539,6 +2544,13 @@ void CP_ReaderRequestStepHandler(CManager cm, CMConnection conn, void *Msg_v, vo
2539
2544
RequestingReader = i ;
2540
2545
}
2541
2546
}
2547
+ if (RequestingReader == -1 )
2548
+ {
2549
+ CP_verbose (Stream , TraceVerbose ,
2550
+ "In RequestStepHandler, RequestingReader not found, ignore\n" );
2551
+ STREAM_MUTEX_UNLOCK (CP_WSR_Stream -> ParentStream );
2552
+ }
2553
+
2542
2554
while (List )
2543
2555
{
2544
2556
size_t NextTS = Stream -> LastDemandTimestep + 1 ;
@@ -2581,12 +2593,6 @@ void CP_ReaderRequestStepHandler(CManager cm, CMConnection conn, void *Msg_v, vo
2581
2593
}
2582
2594
2583
2595
CP_verbose (Stream , TraceVerbose , "In RequestStepHandler, queueing request\n" );
2584
- assert (RequestingReader != -1 );
2585
- if (Stream -> CloseMessagesSent )
2586
- {
2587
- CP_verbose (Stream , TraceVerbose , "In RequestStepHandler, stream closing, ignore\n" );
2588
- STREAM_MUTEX_UNLOCK (CP_WSR_Stream -> ParentStream );
2589
- }
2590
2596
StepRequest Request = calloc (sizeof (* Request ), 1 );
2591
2597
Request -> RequestingReader = RequestingReader ;
2592
2598
if (!Stream -> StepRequestQueue )
0 commit comments