pike.git / lib / modules / Thread.pmod

version» Context lines:

pike.git/lib/modules/Thread.pmod:373: Inside #if constant(__builtin.thread_id)
   if(w_ptr >= sizeof(buffer))    {    buffer=buffer[r_ptr..];    buffer+=allocate(sizeof(buffer)+1);    w_ptr-=r_ptr;    r_ptr=0;    }    buffer[w_ptr] = value;    w_ptr++;    int items = w_ptr - r_ptr; -  r_cond::broadcast(); +  // NB: The mutex MUST be released before the broadcast to work +  // around bugs in glibc 2.24 and earlier. This seems to +  // affect eg RHEL 7 (glibc 2.17). +  // cf https://sourceware.org/bugzilla/show_bug.cgi?id=13165    key=0; -  +  r_cond::broadcast();    return items;    }       protected string _sprintf( int f )    {    return f=='O' && sprintf( "%O(%d)", this_program, size() );    }   }