288 |
|
|
289 |
|
int misMatch = (rtFlags ^ curFlags) & RTmask; |
290 |
|
// updates based on toggled flags |
291 |
< |
if (misMatch & RTtraceSources) { |
291 |
> |
if (((misMatch & RTtraceSources) != 0) & (nsources > 0)) { |
292 |
> |
int nt = NThreads(); |
293 |
> |
if (nt > 1) { |
294 |
> |
if (FlushQueue() < 0) |
295 |
> |
return false; |
296 |
> |
SetThreadCount(1); |
297 |
> |
} |
298 |
|
int sn = nsources; |
299 |
|
if (rtFlags & RTtraceSources) { |
300 |
|
srcFollowed.NewBitMap(nsources); |
310 |
|
source[sn].sflags &= ~SFOLLOW; |
311 |
|
srcFollowed.NewBitMap(0); |
312 |
|
} |
313 |
+ |
if (nt > 1) SetThreadCount(nt); |
314 |
|
} |
315 |
|
if (misMatch & RTdoFIFO && FlushQueue() < 0) |
316 |
|
return false; |