Roxen.git / server / base_server / configuration.pike

version» Context lines:

Roxen.git/server/base_server/configuration.pike:2026:    // path == loc + subpath.    subpath = path[sizeof(loc)..];    } else if (recursive && has_prefix(loc, path)) {    // loc == path + ignored.    subpath = "/";    } else {    // Does not apply to this location module.    continue;    }    +  TRACE_ENTER(sprintf("Calling %O->lock_file(%O, %O, %O)...", +  function_object(func), subpath, lock, id), 0);    mapping(string:mixed) lock_error =    function_object(func)->lock_file(subpath, lock, id);    if (lock_error) {    // Failure. Unlock the new lock.    foreach(location_module_cache||location_modules(),    [string loc2, function func2])    {    if (has_prefix(path, loc2)) {    // path == loc2 + subpath.    mapping(string:mixed) ret =    function_object(func2)->unlock_file(path[sizeof(loc2)..],    lock, id);    } else if (recursive && has_prefix(loc2, path)) {    // loc2 == path + ignored.    mapping(string:mixed) ret =    function_object(func2)->unlock_file("/", lock, id);    }    if (func == func2) break;    }    // destruct(lock); -  +  TRACE_LEAVE(sprintf("Lock error: %O", lock_error));    return lock_error;    } -  +  TRACE_LEAVE("Ok.");    if (function_object(func)->webdav_opaque) break;    }       if (expiry_delta) {    // Lock with timeout.    // FIXME: Race-conditions.    if (!sizeof(active_locks)) {    // Start the lock expiration loop.    active_locks[lock] = 1;    expire_lock_loop();    } else {    active_locks[lock] = 1;    }    }       // Success. -  +  TRACE_LEAVE("Success.");    return lock;   }      //! Returns the value of the specified property, or an error code   //! mapping.   //!   //! @note   //! Returning a string is shorthand for returning an array   //! with a single text node.   //!
Roxen.git/server/base_server/configuration.pike:2668: Inside #if defined(URL_MODULES)
   if( id->misc->find_dir_nest < 20 )    dir = (id->conf || this_object())->find_dir( file, id );    else    error("Too deep recursion in roxen::find_dir() while mapping "    +file+".\n");    };    id->misc->find_dir_nest = 0;    TRACE_LEAVE("");    if(err)    throw(err); +  TRACE_LEAVE("Returning result from URL module.");    return dir;    } -  +  TRACE_LEAVE("Returned 'Continue normal processing'.");    id->not_query=of;    }   #endif /* URL_MODULES */       array | mapping d;    array(string) locks=({});    RoxenModule mod;    string loc;    foreach(location_modules(), array tmp)    {