semaphore


  class  semaphore
  {
        public:
          semaphore(int count, int process = 0);        // set process to 1 for
          virtual ~semaphore();                        // semphores between processes
  
          void up();                        // increase semaphore        
          void down();                        // decrease, block on 0
          int trydown();                        // 1-success; 0-failure (semaphore=0)
  
        private:
          void* sp;
  };

slide: semaphore