Roxen.git / server / base_server / configuration.pike

version» Context lines:

Roxen.git/server/base_server/configuration.pike:1:   // This file is part of Roxen WebServer.   // Copyright © 1996 - 2009, Roxen IS.   //      // @appears Configuration   //! A site's main configuration    - constant cvs_version = "$Id: configuration.pike,v 1.701 2010/06/20 15:48:27 jonasw Exp $"; + constant cvs_version = "$Id: configuration.pike,v 1.702 2010/06/28 06:57:57 marty Exp $";   #include <module.h>   #include <module_constants.h>   #include <roxen.h>   #include <request_trace.h>   #include <timers.h>      #define CATCH(P,X) do{mixed e;if(e=catch{X;})report_error("While "+P+"\n"+describe_backtrace(e));}while(0)      // Tell Pike.count_memory this is global.   constant pike_cycle_depth = 0;
Roxen.git/server/base_server/configuration.pike:1796:    } else {    lock_info = LOCK_OWN_BELOW; // We have a lock on some subpath.    }    }    else    if (check_above && (lock_info & 1))    // Convert LOCK_*_AT to LOCK_*_BELOW.    lock_info &= ~1;    if (lock_info > state) state = lock_info;    if (state == LOCK_EXCL_AT) return LOCK_EXCL_AT; // Doesn't get any worse. +  if (function_object(func)->webdav_opaque) break;    }    return state;   }      protected multiset(DAVLock) active_locks = (<>);      //! Unlock the lock represented by @[lock] on @[path].   //!   //! @returns   //! Returns a result-mapping on error, and @expr{0@} (zero) on success.
Roxen.git/server/base_server/configuration.pike:1829:    // FIXME: Semantics for partial unlocking?    if (ret) return ret;    } else if (lock->recursive && has_prefix(loc, path)) {    // loc == path + ignored.    mapping(string:mixed) ret =    function_object(func)->unlock_file("/", lock, id);       // FIXME: Semantics for partial unlocking?    if (ret) return ret;    } +  if (function_object(func)->webdav_opaque) break;    }    active_locks[lock] = 0;    // destruct(lock);    return 0;   }      //! Force expiration of any locks that have timed out.   int expire_locks(RequestID id)   {    int t = time(1);
Roxen.git/server/base_server/configuration.pike:1966:    } 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);    return lock_error;    } +  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 {