Skip to content

Commit 032c3e7

Browse files
committed
Change for boost api difference
1 parent ab080b3 commit 032c3e7

File tree

3 files changed

+163
-10
lines changed

3 files changed

+163
-10
lines changed

src/Dataflow/Engine/Controller/NetworkEditorController.cc

Lines changed: 13 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -381,26 +381,34 @@ ExecutionQueueManager::ExecutionQueueManager(ExecutionStrategyHandle& currentExe
381381

382382
void ExecutionQueueManager::enqueueContext(ExecutionContextHandle context)
383383
{
384-
Guard g(executionMutex_.get());
385-
if (contexts_.push(context))
384+
bool contextReady = false;
386385
{
387-
std::cout << "ctx queued" << std::endl;
386+
Guard g(executionMutex_.get());
387+
contextReady = contexts_.push(context);
388+
}
389+
if (contextReady)
390+
{
391+
contextCount_.fetch_add(1);
392+
//std::cout << "ctx queued" << std::endl;
388393
somethingToExecute_.conditionBroadcast();
389394
}
390395
else
391-
std::cout << "ctx queue is full" << std::endl;
396+
{
397+
//std::cout << "ctx queue is full" << std::endl;
398+
}
392399
}
393400

394401
void ExecutionQueueManager::executeTopContext()
395402
{
396403
while (true)
397404
{
398405
UniqueLock lock(executionMutex_.get());
399-
while (0 == contexts_.read_available())
406+
while (0 == contextCount_)
400407
{
401408
somethingToExecute_.wait(lock);
402409
}
403410
contexts_.consume_one([&](ExecutionContextHandle ctx) { currentExecutor_->execute(*ctx); });
411+
contextCount_.fetch_sub(1);
404412
}
405413
}
406414

src/Dataflow/Engine/Scheduler/ExecutionStrategy.h

Lines changed: 3 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -38,7 +38,7 @@
3838
namespace SCIRun {
3939
namespace Dataflow {
4040
namespace Engine {
41-
41+
4242
class SCISHARE ExecutionStrategy
4343
{
4444
public:
@@ -82,10 +82,11 @@ namespace Engine {
8282
boost::thread executionLaunchThread_;
8383
Core::Thread::Mutex executionMutex_;
8484
Core::Thread::ConditionVariable somethingToExecute_;
85+
boost::atomic<int> contextCount_; // need certain member function on spsc_queue, need to check boost version...
8586

8687
void executeTopContext();
8788
};
8889
}
8990
}}
9091

91-
#endif
92+
#endif

src/ExampleNets/regression/asyncViewScene.srn5

Lines changed: 147 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -344,7 +344,7 @@
344344
</module>
345345
<state>
346346
<stateMap>
347-
<count>9</count>
347+
<count>13</count>
348348
<item_version>0</item_version>
349349
<item>
350350
<first>
@@ -370,6 +370,30 @@
370370
</value>
371371
</second>
372372
</item>
373+
<item>
374+
<first>
375+
<name>EdgesAsCylinders</name>
376+
</first>
377+
<second>
378+
<name>EdgesAsCylinders</name>
379+
<value>
380+
<which>3</which>
381+
<value>0</value>
382+
</value>
383+
</second>
384+
</item>
385+
<item>
386+
<first>
387+
<name>EdgesAsLines</name>
388+
</first>
389+
<second>
390+
<name>EdgesAsLines</name>
391+
<value>
392+
<which>3</which>
393+
<value>1</value>
394+
</value>
395+
</second>
396+
</item>
373397
<item>
374398
<first>
375399
<name>FaceTransparency</name>
@@ -382,6 +406,18 @@
382406
</value>
383407
</second>
384408
</item>
409+
<item>
410+
<first>
411+
<name>FaceTransparencyValue</name>
412+
</first>
413+
<second>
414+
<name>FaceTransparencyValue</name>
415+
<value>
416+
<which>1</which>
417+
<value>0.5</value>
418+
</value>
419+
</second>
420+
</item>
385421
<item>
386422
<first>
387423
<name>NodeAsPoints</name>
@@ -454,6 +490,18 @@
454490
</value>
455491
</second>
456492
</item>
493+
<item>
494+
<first>
495+
<name>SphereScaleValue</name>
496+
</first>
497+
<second>
498+
<name>SphereScaleValue</name>
499+
<value>
500+
<which>1</which>
501+
<value>1</value>
502+
</value>
503+
</second>
504+
</item>
457505
</stateMap>
458506
</state>
459507
</second>
@@ -468,7 +516,7 @@
468516
</module>
469517
<state>
470518
<stateMap>
471-
<count>9</count>
519+
<count>13</count>
472520
<item_version>0</item_version>
473521
<item>
474522
<first>
@@ -494,6 +542,30 @@
494542
</value>
495543
</second>
496544
</item>
545+
<item>
546+
<first>
547+
<name>EdgesAsCylinders</name>
548+
</first>
549+
<second>
550+
<name>EdgesAsCylinders</name>
551+
<value>
552+
<which>3</which>
553+
<value>0</value>
554+
</value>
555+
</second>
556+
</item>
557+
<item>
558+
<first>
559+
<name>EdgesAsLines</name>
560+
</first>
561+
<second>
562+
<name>EdgesAsLines</name>
563+
<value>
564+
<which>3</which>
565+
<value>1</value>
566+
</value>
567+
</second>
568+
</item>
497569
<item>
498570
<first>
499571
<name>FaceTransparency</name>
@@ -506,6 +578,18 @@
506578
</value>
507579
</second>
508580
</item>
581+
<item>
582+
<first>
583+
<name>FaceTransparencyValue</name>
584+
</first>
585+
<second>
586+
<name>FaceTransparencyValue</name>
587+
<value>
588+
<which>1</which>
589+
<value>0.5</value>
590+
</value>
591+
</second>
592+
</item>
509593
<item>
510594
<first>
511595
<name>NodeAsPoints</name>
@@ -578,6 +662,18 @@
578662
</value>
579663
</second>
580664
</item>
665+
<item>
666+
<first>
667+
<name>SphereScaleValue</name>
668+
</first>
669+
<second>
670+
<name>SphereScaleValue</name>
671+
<value>
672+
<which>1</which>
673+
<value>1</value>
674+
</value>
675+
</second>
676+
</item>
581677
</stateMap>
582678
</state>
583679
</second>
@@ -592,7 +688,7 @@
592688
</module>
593689
<state>
594690
<stateMap>
595-
<count>9</count>
691+
<count>13</count>
596692
<item_version>0</item_version>
597693
<item>
598694
<first>
@@ -618,6 +714,30 @@
618714
</value>
619715
</second>
620716
</item>
717+
<item>
718+
<first>
719+
<name>EdgesAsCylinders</name>
720+
</first>
721+
<second>
722+
<name>EdgesAsCylinders</name>
723+
<value>
724+
<which>3</which>
725+
<value>0</value>
726+
</value>
727+
</second>
728+
</item>
729+
<item>
730+
<first>
731+
<name>EdgesAsLines</name>
732+
</first>
733+
<second>
734+
<name>EdgesAsLines</name>
735+
<value>
736+
<which>3</which>
737+
<value>1</value>
738+
</value>
739+
</second>
740+
</item>
621741
<item>
622742
<first>
623743
<name>FaceTransparency</name>
@@ -630,6 +750,18 @@
630750
</value>
631751
</second>
632752
</item>
753+
<item>
754+
<first>
755+
<name>FaceTransparencyValue</name>
756+
</first>
757+
<second>
758+
<name>FaceTransparencyValue</name>
759+
<value>
760+
<which>1</which>
761+
<value>0.5</value>
762+
</value>
763+
</second>
764+
</item>
633765
<item>
634766
<first>
635767
<name>NodeAsPoints</name>
@@ -702,6 +834,18 @@
702834
</value>
703835
</second>
704836
</item>
837+
<item>
838+
<first>
839+
<name>SphereScaleValue</name>
840+
</first>
841+
<second>
842+
<name>SphereScaleValue</name>
843+
<value>
844+
<which>1</which>
845+
<value>1</value>
846+
</value>
847+
</second>
848+
</item>
705849
</stateMap>
706850
</state>
707851
</second>

0 commit comments

Comments
 (0)