Exemple #1
0
inline void DependableObject::decreasePredecessorsInLock ( DependableObject * finishedPred,
       int numPred )
{
   if ( finishedPred != NULL ) {
      if ( getWD() != NULL && finishedPred->getWD() != NULL ) {
         getWD()->predecessorFinished( finishedPred->getWD() );
      }

      //remove the predecessor from the list!
      if ( _predecessors.size() != 0 ) {
         unsigned int wdId = finishedPred->getWD()->getId();
         DependableObjectVector::iterator it = _predecessors.find( std::make_pair( wdId, finishedPred ) );
         if ( it != _predecessors.end() )
            _predecessors.erase( it );
      }
   }

   if ( numPred == 0 && !_predecessors.empty() ) {
      _predecessors.clear();
   }
}
Exemple #2
0
void
WatchFD::stop (void)
{
	inotify_rm_watch (getFD (), getWD ());
	mWD = 0;
}