(file) Return to Monitor.cpp CVS log (file) (dir) Up to [Pegasus] / pegasus / src / Pegasus / Common

Diff for /pegasus/src/Pegasus/Common/Monitor.cpp between version 1.111.2.1 and 1.111.2.2

version 1.111.2.1, 2006/07/27 23:11:52 version 1.111.2.2, 2006/07/31 17:37:18
Line 387 
Line 387 
           // unlocked will not result in an ArrayIndexOutOfBounds           // unlocked will not result in an ArrayIndexOutOfBounds
           // exception.           // exception.
  
           autoEntryMutex.unlock();            _entry_mut.unlock();
           o.enqueue(message);           o.enqueue(message);
           autoEntryMutex.lock();            _entry_mut.lock();
           // After enqueue a message and the autoEntryMutex has been released and locked again,           // After enqueue a message and the autoEntryMutex has been released and locked again,
           // the array of _entries can be changed. The ArrayIterator has be reset with the original _entries.           // the array of _entries can be changed. The ArrayIterator has be reset with the original _entries.
           entries.reset(_entries);           entries.reset(_entries);
Line 423 
Line 423 
     */     */
     maxSocketCurrentPass++;     maxSocketCurrentPass++;
  
     autoEntryMutex.unlock();      _entry_mut.unlock();
  
     //     //
     // The first argument to select() is ignored on Windows and it is not     // The first argument to select() is ignored on Windows and it is not
Line 435 
Line 435 
 #else #else
     int events = select(maxSocketCurrentPass, &fdread, NULL, NULL, &tv);     int events = select(maxSocketCurrentPass, &fdread, NULL, NULL, &tv);
 #endif #endif
     autoEntryMutex.lock();      _entry_mut.lock();
     // After enqueue a message and the autoEntryMutex has been released and locked again,     // After enqueue a message and the autoEntryMutex has been released and locked again,
     // the array of _entries can be changed. The ArrayIterator has be reset with the original _entries     // the array of _entries can be changed. The ArrayIterator has be reset with the original _entries
     entries.reset(_entries);     entries.reset(_entries);
Line 547 
Line 547 
                    events |= SocketMessage::READ;                    events |= SocketMessage::READ;
                    Message *msg = new SocketMessage(entries[indx].socket, events);                    Message *msg = new SocketMessage(entries[indx].socket, events);
                    entries[indx]._status = _MonitorEntry::BUSY;                    entries[indx]._status = _MonitorEntry::BUSY;
                    autoEntryMutex.unlock();                     _entry_mut.unlock();
                    q->enqueue(msg);                    q->enqueue(msg);
                    autoEntryMutex.lock();                     _entry_mut.lock();
            // After enqueue a message and the autoEntryMutex has been released and locked again,            // After enqueue a message and the autoEntryMutex has been released and locked again,
            // the array of entries can be changed. The ArrayIterator has be reset with the original _entries            // the array of entries can be changed. The ArrayIterator has be reset with the original _entries
            entries.reset(_entries);            entries.reset(_entries);


Legend:
Removed from v.1.111.2.1  
changed lines
  Added in v.1.111.2.2

No CVS admin address has been configured
Powered by
ViewCVS 0.9.2