Changeset 3685


Ignore:
Timestamp:
Aug 22, 2017, 6:33:05 AM (3 months ago)
Author:
peter
Message:

prefer atomic member since shared between Scheduler and JobHandler?

Location:
trunk/yat/utility
Files:
2 edited

Legend:

Unmodified
Added
Removed
  • trunk/yat/utility/Scheduler.cc

    r3684 r3685  
    200200                                                                                                                                                JobQueue& queue,
    201201                                                                                                                                                Queue<JobPtr>& jobs,
    202                                                                                                                                                 int& running_jobs,
     202                                                                                                                                                running_jobs_type& running_jobs,
    203203                                                                                                                                                Queue<boost::exception_ptr>& error)
    204204                : workers_(new boost::thread_group),
  • trunk/yat/utility/Scheduler.h

    r3683 r3685  
    2323*/
    2424
     25#include "config_public.h"
    2526#include "PriorityQueue.h"
    2627#include "Queue.h"
     
    3031#include <boost/shared_ptr.hpp>
    3132
     33#ifdef YAT_HAVE_ATOMIC
     34#include <atomic>
     35#endif
    3236#include <set>
    3337#include <deque>
     
    8387        class Scheduler
    8488        {
     89#ifdef YAT_HAVE_ATOMIC
     90                typedef std::atomic<int> running_jobs_type;
     91#else
     92                typedef int running_jobs_type;
     93#endif
    8594        public:
    8695                /**
     
    214223                public:
    215224                        JobHandler(unsigned int threads, JobQueue& queue, Queue<JobPtr>& jobs,
    216                                                                  int& running_jobs, Queue<boost::exception_ptr>& error);
     225                                                                 running_jobs_type& running_jobs,
     226                                                                 Queue<boost::exception_ptr>& error);
    217227
    218228                        void operator()(void);
     
    231241                        JobQueue& queue_;
    232242                        Queue<JobPtr>& jobs_;
    233                         int& running_jobs_;
     243                        running_jobs_type& running_jobs_;
    234244                        Queue<boost::exception_ptr>& error_;
    235245                        int job_counter_;
     
    256266                JobQueue queue_;
    257267                Queue<JobPtr> jobs_;
    258                 int running_jobs_;
     268                running_jobs_type running_jobs_;
    259269                Queue<boost::exception_ptr> error_;
    260270                boost::thread job_handler_;
Note: See TracChangeset for help on using the changeset viewer.