pike.git / lib / modules / Thread.pmod

version» Context lines:

pike.git/lib/modules/Thread.pmod:10:    int ptr, num;       int size() { return num; }       mixed read()    {    mixed tmp;    object key=lock::lock();    while(!num) r_cond::wait(key);    tmp=buffer[ptr++]; -  r_ptr%=sizeof(buffer); +  ptr%=sizeof(buffer);    num--;    w_cond::signal();    return tmp;    }       void write(mixed v)    {    object key=lock::lock();    while(num == sizeof(buffer)) w_cond::wait(key);    buffer[(ptr + num++) % sizeof(buffer)]=v;