Changeset 1692 in Sophya for trunk/ArchTOIPipe/Kernel/toisegment.h
- Timestamp:
- Oct 14, 2001, 11:15:01 PM (24 years ago)
- File:
-
- 1 edited
Legend:
- Unmodified
- Added
- Removed
-
trunk/ArchTOIPipe/Kernel/toisegment.h
r1690 r1692 27 27 virtual void wontNeedBefore(int i); 28 28 virtual void putDone(); 29 virtual void addConsumer(TOIProcessor*); 29 30 30 31 // Methodes ignorees car on reimplemente les methodes de base … … 109 110 110 111 protected: 111 void addToWaitList(BufferView* bv);112 void removeFromWaitList(BufferView* bv);113 114 112 115 113 friend class BufferView; 114 friend class TOISegmented; 116 115 void signalWaitingViews(); // views are waiting on read 117 void signal ();// we are waiting on write116 void signalWrite(); // we are waiting on write 118 117 void nextSegment(); 119 118 void waitForCleaning(); … … 127 126 int sn0; // First sn in first segment 128 127 vector<BufferSegment*> segments; // Committed segments 128 int nConsumers; 129 129 130 130 pthread_mutex_t views_mutex; // lock for master buffer list access 131 pthread_mutex_t write_mutex; // for write waiting 132 pthread_cond_t condv; // waiting for cleaning (on writer thread) 131 pthread_cond_t write_wait_condv; // waiting for cleaning (on writer thread) 133 132 pthread_key_t buffer_key; // thread-specific buffer view 134 133 static void BufferDestroy(void *); 135 134 135 pthread_mutex_t read_wait_mutex; 136 pthread_cond_t read_wait_condv; 137 136 138 bool waitingOnWrite; // wait on writer thread 137 139 138 set<BufferView*> waitingBuffers;139 140 set<BufferView*> allViews; 140 141 … … 158 159 void sync(); // recupere les nouveaux segments, resync avec master 159 160 void ensure(int sn); 160 void signal(); 161 162 bool waiting; 161 163 162 164 friend class MasterView; … … 166 168 int segmentSize; 167 169 int firstNeeded; 168 pthread_mutex_t mutex; // lock pour attente de segments169 pthread_cond_t condv; // attente de segments (en lecture)170 170 }; 171 171
Note:
See TracChangeset
for help on using the changeset viewer.