pike.git / lib / master.pike.in

version» Context lines:

pike.git/lib/master.pike.in:1: - /* $Id: master.pike.in,v 1.40 1999/07/01 01:40:41 grubba Exp $ + /* $Id: master.pike.in,v 1.41 2000/02/11 02:11:16 hubbe Exp $    *    * Master-file for Pike.    *    * Based on master.pike 1.67.    */      // Some configurable parameters useful for debugging      // Used by describe_backtrace() et al.   #if !defined(BT_MAX_STRING_LEN) || (BT_MAX_STRING_LEN <= 0)
pike.git/lib/master.pike.in:192:   {    tmp=combine_path_with_cwd(tmp);    pike_program_path-=({tmp});   }         mapping (string:program) programs=(["/master":object_program(this_object())]);      #define capitalize(X) (upper_case((X)[..0])+(X)[1..])    + #if constant(_static_modules.Builtin.mutex) + #define THREADED + object compilation_mutex = _static_modules.Builtin()->mutex(); + #endif +    static program low_findprog(string pname, string ext)   {    program ret;    array s;    string fname=pname+ext; -  +  + #ifdef THREADED +  object key; +  catch { key=compilation_mutex->lock(); }; + #endif +     if(ret=programs[fname]) return ret;    if( (s=master_file_stat(fname)) && s[1]>=0 )    {    switch(ext)    {    case "":    case ".pike":    if(array s2=master_file_stat(fname+".o"))    {    if(s2[1]>=0 && s2[3]>=s[3])