Skip to content
This repository was archived by the owner on Nov 15, 2021. It is now read-only.
Merged
Show file tree
Hide file tree
Changes from 3 commits
Commits
Show all changes
453 commits
Select commit Hold shift + click to select a range
5aeb3c7
Change Method Summary
Jan 8, 2016
c4db23a
Merge pull request #421 from ddur/master
ddur Jan 8, 2016
7a1c8bd
Method rename
Jan 8, 2016
985bdb6
Merge branch 'master' of https://github.com/OpenCover/opencover
Jan 8, 2016
8560986
Remove unused code #416
Jan 8, 2016
0646b9d
Merge pull request #422 from ddur/master
ddur Jan 8, 2016
7e1724e
Test+
Jan 8, 2016
7563da3
Merge branch 'master' of https://github.com/OpenCover/opencover
Jan 8, 2016
ce77c5e
Merge pull request #423 from ddur/master
ddur Jan 8, 2016
bcf5df2
gitignore
Jan 8, 2016
b856406
SequencePointComparer
Jan 8, 2016
7bbe311
Merge pull request #424 from ddur/master
ddur Jan 8, 2016
a748cc4
Test+ #416
Jan 8, 2016
8ba3b8f
Merge pull request #425 from ddur/master
ddur Jan 8, 2016
85b21bf
SequencePointComparer Test
Jan 9, 2016
4125f82
Merge pull request #427 from ddur/master
ddur Jan 9, 2016
c4f71c6
#410 change where we dispose specific events
sawilde Jan 9, 2016
0f0b19f
Merge pull request #428 from sawilde/master
sawilde Jan 9, 2016
b081b8a
SourceRepositoryTest etc
Jan 9, 2016
4166c5c
Merge pull request #429 from ddur/master
ddur Jan 9, 2016
2e74279
ToolsVersion="12.0" & FrameworkVersion v4.5.2
Jan 9, 2016
6c9fd7e
Merge pull request #430 from ddur/master
ddur Jan 9, 2016
8dbdf65
disable optimisations on build server (debug) #410
sawilde Jan 10, 2016
219f0fd
ignore ObjectDisposedException when thrown from thread #410
sawilde Jan 10, 2016
3fd1c4c
Merge pull request #431 from sawilde/master
sawilde Jan 10, 2016
afb6ca2
build artefacts for coverity and upload them (only on coverity branch…
sawilde Jan 10, 2016
5f74385
put newline to correct position when creating trace string
sawilde Jan 10, 2016
ece55ae
address coverity issues 134125 (potential resource leak) and 134137 (…
sawilde Jan 10, 2016
1234af9
Merge branch 'master' of https://github.com/OpenCover/opencover
sawilde Jan 10, 2016
ad259f3
fix typo
sawilde Jan 10, 2016
6049f99
update build script
sawilde Jan 10, 2016
e680802
don't use multiline cmd in appveyor.yml
sawilde Jan 10, 2016
cfd314b
address coverity issues 134146, 134147 and 134148 (unintialized scale…
sawilde Jan 10, 2016
79dc623
revert change cfd314b9d38980d51d612de196f491a122b475d8 #417 (this is …
sawilde Jan 10, 2016
f1ccae5
Merge pull request #432 from sawilde/master
sawilde Jan 10, 2016
5fb3e79
don't run dogfood-release on coverity build #417
sawilde Jan 10, 2016
6859a77
Merge pull request #433 from sawilde/master
sawilde Jan 10, 2016
5dadca3
Merge pull request #434 from OpenCover/master
sawilde Jan 10, 2016
100fa7a
use --insecure option to push to coverity #417
sawilde Jan 10, 2016
ee6bd6f
make the thread only remove its block when deactivated #410
sawilde Jan 10, 2016
7bc5c26
Merge pull request #435 from OpenCover/coverity
sawilde Jan 10, 2016
0eb1841
Merge branch 'master' of https://github.com/OpenCover/opencover
sawilde Jan 10, 2016
54f96d5
update coverity version/description from build number
sawilde Jan 10, 2016
144a3b1
Merge pull request #436 from sawilde/master
sawilde Jan 10, 2016
ed114a1
address coverity issues 134132, 134133, 134134, 134135 and 135136 (Wr…
sawilde Jan 10, 2016
6fb3d9a
Merge branch 'master' of https://github.com/OpenCover/opencover
sawilde Jan 10, 2016
6fc1f4f
Merge pull request #437 from sawilde/master
sawilde Jan 10, 2016
ba8fd91
fix resource leaks in build components #417
sawilde Jan 10, 2016
70ed53a
Merge pull request #438 from sawilde/master
sawilde Jan 10, 2016
4d57699
Coverity 134114. 134115, 134124
Jan 11, 2016
1618cb8
Merge pull request #439 from ddur/master
ddur Jan 11, 2016
5753951
#417 Coverity 134128, 134122, 134123
Jan 11, 2016
89e693b
Merge pull request #440 from ddur/master
ddur Jan 11, 2016
0bf9c1b
#417 Coverity 134111
Jan 11, 2016
7dc56f8
Merge pull request #441 from ddur/master
ddur Jan 11, 2016
2313b84
#417 Coverity 134119, 134120, 134121
Jan 11, 2016
b354c1e
Merge pull request #442 from ddur/master
ddur Jan 11, 2016
9e770f9
#417 Coverity 134126
Jan 11, 2016
2ef9abf
Merge pull request #444 from ddur/master
ddur Jan 11, 2016
1e0e4e5
use powershell rather than bat so we can have readable logic
sawilde Jan 11, 2016
a7408ce
use name of bat file
sawilde Jan 11, 2016
f27f22e
use correct name now
sawilde Jan 11, 2016
3ac82ca
#417 Coverity 134116, 134117, 134118
Jan 11, 2016
7f5f3f2
XML comment for public members
Jan 11, 2016
c8856a6
#417 Coverity 134127
Jan 11, 2016
8a771df
Merge pull request #448 from ddur/master
ddur Jan 11, 2016
a80c9ab
Merge pull request #447 from sawilde/master
sawilde Jan 11, 2016
b9c049e
Test AdminOnly on AppVeyor
Jan 11, 2016
eeacca7
Test AdminOnly on AppVeyor (doogfood-release)
Jan 11, 2016
ef1abf8
Revert "Test AdminOnly on AppVeyor"
Jan 11, 2016
4274f2c
Revert "Test AdminOnly on AppVeyor (doogfood-release)"
Jan 11, 2016
502c0e4
update docs with missing args #167
sawilde Jan 11, 2016
b55fc4b
potential fix for process being excluded due to match on assembly nam…
sawilde Jan 11, 2016
9abc1b7
review filter test suite - removed or changed .dll tests as appropriate
sawilde Jan 11, 2016
d81fbf4
update comment
sawilde Jan 11, 2016
6299b08
Merge pull request #452 from sawilde/master
ddur Jan 12, 2016
5b7c64c
Merge branch 'master' of https://github.com/OpenCover/opencover
Jan 12, 2016
9ec0767
Restore test cases
Jan 12, 2016
f110672
Merge pull request #453 from ddur/master
ddur Jan 12, 2016
1b5dbf3
Fix duplicate copy/paste Test case
Jan 12, 2016
bed1349
More process filter test-specs
Jan 12, 2016
4200e09
Merge branch 'master' of https://github.com/OpenCover/opencover
Jan 12, 2016
6cc1f66
AppVeyor Test /exclude=AdminOnly
Jan 12, 2016
e69be7a
test with dogfood cmd scripts
Jan 12, 2016
0049ea9
Trigger build again
Jan 12, 2016
c821cdb
cmd used by dogfood-release
Jan 12, 2016
8138764
Restore by dogfood-release unused files
Jan 12, 2016
ac25cab
Tested without appveyor
Jan 12, 2016
b556571
Merge pull request #454 from ddur/master
ddur Jan 12, 2016
4b19ccd
Handle file and directory access issues more gracefully than kaboom #…
sawilde Jan 12, 2016
acc6a2f
rework tests for #456 and #458
sawilde Jan 12, 2016
51a10d4
Remove redundant process-filter tests
Jan 12, 2016
78774b3
Merge pull request #461 from ddur/master
ddur Jan 12, 2016
1df1a9b
Process-filter 100% branch coverage
Jan 12, 2016
2c7ba27
.dll file extension removed or moved to filter
Jan 12, 2016
bf37b29
Merge pull request #462 from ddur/master
ddur Jan 12, 2016
deeae0b
Merge branch 'master' of https://github.com/OpenCover/opencover
sawilde Jan 12, 2016
0ba07b7
Show exception (type)
Jan 12, 2016
95d3bd2
Same (usaved edit)
Jan 12, 2016
a9c7142
address coverity issue 134180 (data race condition) #463
sawilde Jan 12, 2016
ac71a53
Merge pull request #464 from ddur/master
ddur Jan 12, 2016
2115dd7
CodeCoverageStringTextSource
Jan 12, 2016
44859f8
address coverity issue 134128 (Resource leak on an exceptional path) …
sawilde Jan 12, 2016
cd551a4
Merge branch 'master' of https://github.com/OpenCover/opencover
sawilde Jan 12, 2016
a077f87
Merge pull request #465 from ddur/master
ddur Jan 12, 2016
a4078a0
Merge pull request #467 from sawilde/master
sawilde Jan 12, 2016
17469e0
fix some typos in README [skip ci]
molnargab Jan 12, 2016
9517368
Merge pull request #468 from molnargab/typos
ddur Jan 12, 2016
e8eadfd
MemoryManager 100% coverage
Jan 13, 2016
9501af4
Merge pull request #469 from ddur/master
ddur Jan 13, 2016
7246fa2
update message [skip-ci]
sawilde Jan 13, 2016
7c36a1e
Merge pull request #472 from OpenCover/master
sawilde Jan 13, 2016
bf51ad2
refactor around issue #457
sawilde Jan 13, 2016
e85394b
Merge pull request #473 from sawilde/master
sawilde Jan 13, 2016
c11bcb0
MemoryManager tests modified
Jan 13, 2016
7472ba5
Merge pull request #475 from ddur/master
ddur Jan 13, 2016
10f7429
Covers one more branch
Jan 13, 2016
de15bae
Merge pull request #476 from ddur/master
ddur Jan 14, 2016
c0236c6
wrap regsvr32 calls in try/catch + user message #457
sawilde Jan 14, 2016
908f5e8
wrap filter errors and throw a non-reporting exception #477
sawilde Jan 14, 2016
b289635
report on failing to start target process #478
sawilde Jan 14, 2016
af0d9d4
refactor exception to be a non-reporting exeception.
sawilde Jan 14, 2016
f38959f
Note & Remove spaces before matching
Jan 16, 2016
bb9cf92
Merge pull request #483 from ddur/master
ddur Jan 16, 2016
63b14b1
ensure element count in buffer is reset to 0 #482
sawilde Jan 17, 2016
76c0525
Refactor Contract matching
Jan 17, 2016
f7b4ce2
Merge pull request #484 from ddur/master
ddur Jan 17, 2016
8188315
Merge pull request #485 from sawilde/master
sawilde Jan 17, 2016
feb828b
Refactor and comment
Jan 17, 2016
378ed58
Merge pull request #486 from ddur/master
ddur Jan 17, 2016
ffc010d
Make process-filter consistent in all filters
Jan 17, 2016
2340b0e
Merge pull request #487 from ddur/master
ddur Jan 17, 2016
28433ec
Fix regex, find offset on user methods only
Jan 17, 2016
283e67f
Merge pull request #488 from ddur/master
ddur Jan 17, 2016
a5cb9d7
Feature+ Matching assembly by path
Jan 17, 2016
2458590
Merge pull request #489 from ddur/master
ddur Jan 17, 2016
cfe5959
Merge pull request #490 from OpenCover/master
sawilde Jan 18, 2016
bfb5b03
Bug 183311
Jan 18, 2016
fbdf73f
Merge pull request #493 from ddur/master
ddur Jan 18, 2016
8f6b00a
create sonarqube specific targets #481
sawilde Jan 18, 2016
b3d0d50
Merge branch 'master' of https://github.com/OpenCover/opencover
sawilde Jan 18, 2016
98d1ff7
Change crashreporter to return message in exception
sawilde Jan 18, 2016
8647570
tiny refactor around SharpDevelop warning #491
sawilde Jan 18, 2016
3d3e951
Merge pull request #494 from sawilde/master
sawilde Jan 18, 2016
2f615d5
yet another build target
Jan 18, 2016
a055eab
Merge pull request #495 from ddur/master
ddur Jan 18, 2016
e5ee1c6
Merge pull request #496 from OpenCover/master
sawilde Jan 19, 2016
91c3c2f
organize badges [skip-ci]
sawilde Jan 19, 2016
952781c
Problem 184061
Jan 21, 2016
ca45252
Merge pull request #499 from ddur/master
ddur Jan 21, 2016
a192f72
Handle majority of generated branches without code
Jan 21, 2016
9ad5f8b
Merge pull request #501 from ddur/master
ddur Jan 21, 2016
0e0c58b
Comments&changes when source code absent
Jan 22, 2016
f7ba475
Include invalid size one-line SequencePoints
Jan 22, 2016
83ba1b5
Merge pull request #502 from ddur/master
ddur Jan 22, 2016
f3dab2c
#498
Jan 23, 2016
4ada108
Merge pull request #504 from ddur/master
ddur Jan 23, 2016
5821154
ignore .sonarqube folder
sawilde Jan 24, 2016
17f6b41
ensure 32 bit preferred flag is false #500
sawilde Jan 24, 2016
813a165
Merge pull request #505 from sawilde/master
sawilde Jan 24, 2016
b788465
Source/Module file time compare #498
Jan 24, 2016
6c9a8a9
Check if file time is valid time #498
Jan 24, 2016
b53b1ea
Merge pull request #506 from ddur/master
ddur Jan 24, 2016
51cd275
integrate sonarqube #481
sawilde Jan 24, 2016
35ceb95
Merge pull request #507 from sawilde/master
sawilde Jan 24, 2016
60127ce
update ps command
sawilde Jan 24, 2016
2606f49
Merge pull request #508 from OpenCover/sonar
sawilde Jan 24, 2016
f3d72a7
SonarQube: Repeated code #481
Jan 24, 2016
ebb7e11
Merge pull request #509 from ddur/master
ddur Jan 24, 2016
e2e6700
SonarCube: Fix 6 new issues #481
Jan 24, 2016
bdbbe57
Merge pull request #510 from ddur/master
ddur Jan 24, 2016
7dce426
always run coveralls and sonar at end of the build
sawilde Jan 25, 2016
ac388cd
address a number of sonar and resharper warnings #481
sawilde Jan 25, 2016
8300e18
address duplicate blocks in Filter.cs
sawilde Jan 25, 2016
5b9ba3f
don't run sonarqube on a pull request
sawilde Jan 25, 2016
418b591
Merge pull request #511 from sawilde/master
sawilde Jan 25, 2016
dcf76b0
improve build speed on appveyor
sawilde Jan 25, 2016
ffbf281
address more sonar issues
sawilde Jan 25, 2016
85a0bd2
Merge branch 'master' of https://github.com/OpenCover/opencover
sawilde Jan 25, 2016
bb27ea0
sonar issue
sawilde Jan 25, 2016
0eb2f9b
more sonar work
sawilde Jan 25, 2016
aa61da3
some more sonar issues
sawilde Jan 25, 2016
cbb013a
added some test scenarios for issue #512
sawilde Jan 25, 2016
091194f
more minor sonar issues
sawilde Jan 25, 2016
9c1ca76
Merge pull request #513 from sawilde/master
sawilde Jan 25, 2016
8ead96b
SonarQube: Refactor
Jan 25, 2016
f8a992d
Merge conflict
Jan 25, 2016
0d1bb17
Reorder definitions by call order
Jan 25, 2016
84ea695
SonarQube: naming convention?
Jan 25, 2016
d2ff1f9
Merge pull request #514 from ddur/master
ddur Jan 25, 2016
482776c
#512 deal with situation where assembly casing in filepath is not the…
sawilde Jan 26, 2016
057a504
Merge branch 'master' of https://github.com/OpenCover/opencover
sawilde Jan 26, 2016
521a92d
Merge pull request #515 from sawilde/master
sawilde Jan 26, 2016
4f2c356
#512 - revert change that led to broken filter
sawilde Jan 26, 2016
aaf0870
Merge pull request #516 from sawilde/master
sawilde Jan 26, 2016
196a957
Merge pull request #517 from OpenCover/master
sawilde Jan 26, 2016
1823431
Merge pull request #518 from ddur/sonar
ddur Jan 26, 2016
1233d33
SonarQube: Maintainability > Understandability
Jan 26, 2016
62af7ba
SonarQube: Testability > Unit level
Jan 26, 2016
a2822b3
SonarQube: Testability > Unit level
Jan 26, 2016
9609259
SonarQube: Testability > Unit level
Jan 26, 2016
f774f91
SonarCube: Maintainability > Readability
Jan 26, 2016
e4b942a
SonarQube: Testability > Unit level
Jan 26, 2016
c82ec7a
SonarQube: Testability > Unit level
Jan 26, 2016
8bb1e9b
Merge pull request #519 from ddur/master
ddur Jan 26, 2016
6361ff5
Merge branch 'sonar' of https://github.com/OpenCover/opencover into O…
Jan 26, 2016
98caf58
Merge pull request #520 from ddur/sonar
sawilde Jan 26, 2016
0a4e2a0
SonarQube: prevent reporting false issue
Jan 26, 2016
8cf382a
SonarQube: Maintainability > Readability
Jan 26, 2016
d4d6f50
Merge pull request #522 from ddur/master
ddur Jan 26, 2016
5a90714
SonarCube: Move condition to caller
Jan 26, 2016
c6f5bf9
SonaQube: simplify method (complexity)
Jan 27, 2016
35294a2
SonarCube: Remove false positive line issue
Jan 27, 2016
240aac5
Merge branch 'master' of https://github.com/OpenCover/opencover
Jan 27, 2016
4dd9ae5
Merge pull request #523 from ddur/master
ddur Jan 27, 2016
05408ce
SonarCube: Method Complexity & few tests added
Jan 27, 2016
1de456e
Merge pull request #524 from ddur/master
ddur Jan 27, 2016
ea45a28
SonarCube: Complexity grows with lines reduced :D
Jan 27, 2016
aa0095e
Merge pull request #525 from ddur/master
ddur Jan 27, 2016
0e0fb44
Change time to Utc time
Jan 27, 2016
7aaba5b
Merge pull request #526 from ddur/master
ddur Jan 27, 2016
7d24812
#521 remove path-matching
Jan 27, 2016
d493585
Merge pull request #527 from ddur/master
ddur Jan 27, 2016
cf41a6f
integrate sonarqube cxx #481
sawilde Jan 29, 2016
97f8a6f
Merge branch 'sonar' of https://github.com/OpenCover/opencover into s…
sawilde Jan 29, 2016
bc84596
update path to archive
sawilde Jan 29, 2016
67e7667
set user/pwd to blank so sonar-cxx tool does not display them in buil…
sawilde Jan 29, 2016
08086cd
fix script
sawilde Jan 29, 2016
484e28d
spin tokens
sawilde Jan 29, 2016
d7ea834
Merge branch 'master' into sonar
sawilde Jan 29, 2016
d35fdf5
clean other vars
sawilde Jan 29, 2016
f6e54df
update build runner to 1.9.1-rc2 - to address permissions issue and a…
sawilde Jan 29, 2016
df93191
change target order
sawilde Jan 29, 2016
5f36389
more task reordering
sawilde Jan 29, 2016
58d0586
Add custom exe
sawilde Jan 30, 2016
ac3291c
address some sonar-cxx issues
sawilde Jan 30, 2016
6089a66
trap and report error #530
sawilde Jan 30, 2016
3cf1c8e
add excluded folders (for modules) feature #521
sawilde Jan 30, 2016
9cb80e3
make the blocks only mutate under shared sync object #532
sawilde Jan 30, 2016
ce5354b
remove skipped (due to folder) from model
sawilde Jan 31, 2016
d0381a2
Add safemode #528
sawilde Jan 31, 2016
5882b19
update doco
sawilde Jan 31, 2016
488e0b4
Merge pull request #533 from sawilde/master
sawilde Jan 31, 2016
227a7db
more sonar CC work
sawilde Jan 31, 2016
a7a270a
Merge pull request #534 from sawilde/master
sawilde Jan 31, 2016
0f35bfa
Merge pull request #535 from OpenCover/master
sawilde Feb 1, 2016
9be2e97
add build stats [skip ci]
sawilde Feb 1, 2016
99f8823
update message [skip ci]
sawilde Feb 2, 2016
0ba1be3
Merge pull request #537 from OpenCover/master
sawilde Feb 2, 2016
8baeb9a
change crash reporter GUID [skip ci]
sawilde Feb 5, 2016
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
3 changes: 3 additions & 0 deletions main/OpenCover.Console/OpenCover.Console.csproj
Original file line number Diff line number Diff line change
Expand Up @@ -115,6 +115,9 @@
<None Include="app.config">
<SubType>Designer</SubType>
</None>
<None Include="OpenCover.Console.ini">
<CopyToOutputDirectory>PreserveNewest</CopyToOutputDirectory>
</None>
<None Include="packages.config" />
</ItemGroup>
<ItemGroup>
Expand Down
3 changes: 3 additions & 0 deletions main/OpenCover.Console/OpenCover.Console.ini
Original file line number Diff line number Diff line change
@@ -0,0 +1,3 @@
[.NET Framework Debugging Control]
GenerateTrackingInfo=1
AllowOptimize=0
4 changes: 2 additions & 2 deletions main/OpenCover.Framework/Manager/MemoryManager.cs
Original file line number Diff line number Diff line change
Expand Up @@ -145,7 +145,7 @@ public void Dispose()
s.Release(1);
s.Dispose();
});
//ProfilerHasResults.Do(e => e.Dispose());
ProfilerHasResults.Do(e => e.Dispose());
ResultsHaveBeenReceived.Do(e => e.Dispose());
StreamAccessorResults.Do(r => r.Dispose());
_mmfResults.Do(r => r.Dispose());
Expand Down Expand Up @@ -252,7 +252,7 @@ public void Dispose()
s.Release(1);
s.Dispose();
});
//ProfilerRequestsInformation.Do(e => e.Dispose());
ProfilerRequestsInformation.Do(e => e.Dispose());
InformationReadyForProfiler.Do(e => e.Dispose());
InformationReadByProfiler.Do(e => e.Dispose());
StreamAccessorComms.Do(r => r.Dispose());
Expand Down
82 changes: 43 additions & 39 deletions main/OpenCover.Framework/Manager/ProfilerManager.cs
Original file line number Diff line number Diff line change
Expand Up @@ -41,7 +41,7 @@ public class ProfilerManager : IProfilerManager

private static readonly ILog DebugLogger = LogManager.GetLogger("DebugLogger");

class ThreadTermination
private class ThreadTermination
{
public ThreadTermination()
{
Expand Down Expand Up @@ -85,7 +85,8 @@ public void RunProcess(Action<Action<StringDictionary>> process, string[] servic
_memoryManager.Initialise(@namespace, key, servicePrincipal);
_messageQueue = new ConcurrentQueue<byte[]>();

using (_mcb = new MemoryManager.ManagedCommunicationBlock(@namespace, key, MaxMsgSize, -1, servicePrincipal))
using (_mcb = new MemoryManager.ManagedCommunicationBlock(@namespace, key, MaxMsgSize, -1, servicePrincipal)
)
using (var processMgmt = new AutoResetEvent(false))
using (var queueMgmt = new AutoResetEvent(false))
using (var environmentKeyRead = new AutoResetEvent(false))
Expand Down Expand Up @@ -242,7 +243,8 @@ private void ProcessMessages(WaitHandle[] handles)
ConsumeException(() =>
{
g.Select(h => h.CancelThreadEvent).ToList().ForEach(h => h.Set());
WaitHandle.WaitAll(g.Select(h => h.ThreadFinishedEvent).ToArray<WaitHandle>(), new TimeSpan(0, 0, 20));
WaitHandle.WaitAll(g.Select(h => h.ThreadFinishedEvent).ToArray<WaitHandle>(),
new TimeSpan(0, 0, 20));
});
})).ToArray();

Expand Down Expand Up @@ -289,51 +291,53 @@ private WaitCallback ProcessBlock(ManagedBufferBlock block,
{
return state =>
{
var processEvents = new WaitHandle[]
{
block.CommunicationBlock.ProfilerRequestsInformation,
block.MemoryBlock.ProfilerHasResults,
threadTermination.CancelThreadEvent
};
threadActivatedEvent.Set();

try
{
while (block.Active)
var processEvents = new WaitHandle[]
{
switch (WaitHandle.WaitAny(processEvents))
block.CommunicationBlock.ProfilerRequestsInformation,
block.MemoryBlock.ProfilerHasResults,
threadTermination.CancelThreadEvent
};
threadActivatedEvent.Set();

try
{
while (block.Active)
{
case 0:
_communicationManager.HandleCommunicationBlock(block.CommunicationBlock, b => { });
break;
case 1:
var data = _communicationManager.HandleMemoryBlock(block.MemoryBlock);
// don't let the queue get too big as using too much memory causes
// problems i.e. the target process closes down but the host takes
// ages to shutdown; this is a compromise.
_messageQueue.Enqueue(data);
if (_messageQueue.Count > 400)
{
do
switch (WaitHandle.WaitAny(processEvents))
{
case 0:
_communicationManager.HandleCommunicationBlock(block.CommunicationBlock, b => { });
break;
case 1:
var data = _communicationManager.HandleMemoryBlock(block.MemoryBlock);
// don't let the queue get too big as using too much memory causes
// problems i.e. the target process closes down but the host takes
// ages to shutdown; this is a compromise.
_messageQueue.Enqueue(data);
if (_messageQueue.Count > 400)
{
ThreadHelper.YieldOrSleep(100);
} while (_messageQueue.Count > 200);
}
break;
case 2:
return;
do
{
ThreadHelper.YieldOrSleep(100);
} while (_messageQueue.Count > 200);
}
break;
case 2:
return;
}
}
_memoryManager.RemoveDeactivatedBlocks();
}
finally
{
threadTermination.ThreadFinishedEvent.Set();
}
_memoryManager.RemoveDeactivatedBlocks();
}
finally
catch (ObjectDisposedException)
{
// we can now dispose these events as we no longer need them
block.CommunicationBlock.ProfilerRequestsInformation.Dispose();
block.MemoryBlock.ProfilerHasResults.Dispose();

threadTermination.ThreadFinishedEvent.Set();

/* an attempt to close thread has probably happened and the events disposed */
}
};
}
Expand Down
6 changes: 5 additions & 1 deletion main/cmdline/pedigree.cmd
Original file line number Diff line number Diff line change
@@ -1 +1,5 @@
OpenCover.Console.exe -register:user -enableperformancecounters -target:dogfood.cmd -filter:+[OpenCover*]* -output:pedigree_results.xml
@echo off
pushd %cd%
cd %~dp0
OpenCover.Console.exe -register:user -enableperformancecounters -target:dogfood.cmd -filter:+[OpenCover*]* -output:pedigree_results.xml
popd