Ignore:
Timestamp:
Oct 14, 2001, 11:15:01 PM (24 years ago)
Author:
aubourg
Message:

thread debugging

File:
1 edited

Legend:

Unmodified
Added
Removed
  • trunk/ArchTOIPipe/Kernel/toisegment.h

    r1690 r1692  
    2727  virtual void          wontNeedBefore(int i);
    2828  virtual void          putDone();
     29  virtual void          addConsumer(TOIProcessor*);
    2930
    3031  // Methodes ignorees car on reimplemente les methodes de base
     
    109110
    110111  protected:
    111     void addToWaitList(BufferView* bv);
    112     void removeFromWaitList(BufferView* bv);
    113 
    114112
    115113    friend class BufferView;
     114    friend class TOISegmented;
    116115    void signalWaitingViews(); // views are waiting on read
    117     void signal(); // we are waiting on write
     116    void signalWrite();        // we are waiting on write
    118117    void nextSegment();
    119118    void waitForCleaning();
     
    127126    int sn0;                         // First sn in first segment
    128127    vector<BufferSegment*> segments; // Committed segments
     128    int nConsumers;
    129129   
    130130    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)
    133132    pthread_key_t    buffer_key; // thread-specific buffer view
    134133    static void BufferDestroy(void *);
    135134
     135    pthread_mutex_t  read_wait_mutex;
     136    pthread_cond_t   read_wait_condv;
     137
    136138    bool   waitingOnWrite; // wait on writer thread
    137139
    138     set<BufferView*>  waitingBuffers;
    139140    set<BufferView*>  allViews;
    140141
     
    158159    void sync();  // recupere les nouveaux segments, resync avec master
    159160    void ensure(int sn);
    160     void signal();
     161
     162    bool waiting;
    161163
    162164    friend class MasterView;
     
    166168    int segmentSize;
    167169    int firstNeeded;
    168     pthread_mutex_t  mutex; // lock pour attente de segments
    169     pthread_cond_t   condv; // attente de segments (en lecture)
    170170  }; 
    171171
Note: See TracChangeset for help on using the changeset viewer.