From: Stephen D. <sd...@us...> - 2005-12-30 11:07:42
|
Update of /cvsroot/naviserver/naviserver In directory sc8-pr-cvs1.sourceforge.net:/tmp/cvs-serv32584 Modified Files: ChangeLog Log Message: 2005-12-30 Stephen Deasey <sd...@us...> * include/ns.h: * nsd/nsd.h: * nsd/init.c: * nsd/proc.c: * nsd/cache.c: Global hash of cache names removed; access no longer available via Ns_CacheFind() or ns_cache_names. Caches have unique locking requirements and lifetimes which could be violated by e.g. running ns_cache_stats on a thread local cache as the thread is exiting. New Ns_CacheCreateEx() allows creating a cache which has both a size and a time limit. Caches with time limits are calculated differently. Previous behaviour was to periodically check the last access time of each cache entry and flush those which had expired. A busy cache could grow without bound. New behaviour is to check for expirey each time an entry is retrieved from the cache. All caches can (and should) be size limited. Timeouts may be specified per cache and per entry using new Ns_CacheSetValueExpires(). Ns_CacheFlush() now returns the number of entries flushed. New Ns_CacheStats() takes over from ns_cache_stats for non-Tcl caches. Stats are returned in Tcl "array get" format. Removed Ns_CacheMalloc(), Ns_CacheFree() and Ns_CacheName(). Move Tcl commands to tclcache.c. * nsd/Makefile: * nsd/tclcmds.c: * nsd/tclcache.c: * tests/ns_cache.test: Add new Tcl commands ns_cache_create, _eval, _append, _lappend, and _incr. (RFE# 1119257) Old commands ns_cache_names, _keys, _flush and _stats now only work on Tcl caches. ns_cache_size has been removed; the size is now reported along with other statistics. These commands now only work on Tcl caches. * tcl/cache.tcl: New ns_memoize and related commands which act just like ns_cache_eval but use the script as a key into the memoize cache. Index: ChangeLog =================================================================== RCS file: /cvsroot/naviserver/naviserver/ChangeLog,v retrieving revision 1.261 retrieving revision 1.262 diff -C2 -d -r1.261 -r1.262 *** ChangeLog 23 Dec 2005 04:27:22 -0000 1.261 --- ChangeLog 30 Dec 2005 11:07:33 -0000 1.262 *************** *** 1,2 **** --- 1,49 ---- + 2005-12-30 Stephen Deasey <sd...@us...> + + * include/ns.h: + * nsd/nsd.h: + * nsd/init.c: + * nsd/proc.c: + * nsd/cache.c: Global hash of cache names removed; access no + longer available via Ns_CacheFind() or ns_cache_names. Caches + have unique locking requirements and lifetimes which could be + violated by e.g. running ns_cache_stats on a thread local cache as the + thread is exiting. + + New Ns_CacheCreateEx() allows creating a cache which has both a + size and a time limit. + + Caches with time limits are calculated differently. Previous + behaviour was to periodically check the last access time of each + cache entry and flush those which had expired. A busy cache could + grow without bound. New behaviour is to check for expirey each time + an entry is retrieved from the cache. All caches can (and should) + be size limited. Timeouts may be specified per cache and per + entry using new Ns_CacheSetValueExpires(). + + Ns_CacheFlush() now returns the number of entries flushed. + + New Ns_CacheStats() takes over from ns_cache_stats for non-Tcl + caches. Stats are returned in Tcl "array get" format. + + Removed Ns_CacheMalloc(), Ns_CacheFree() and Ns_CacheName(). + + Move Tcl commands to tclcache.c. + + * nsd/Makefile: + * nsd/tclcmds.c: + * nsd/tclcache.c: + * tests/ns_cache.test: Add new Tcl commands ns_cache_create, + _eval, _append, _lappend, and _incr. (RFE# 1119257) + + Old commands ns_cache_names, _keys, _flush and _stats now only + work on Tcl caches. ns_cache_size has been removed; the size is + now reported along with other statistics. These commands now only + work on Tcl caches. + + * tcl/cache.tcl: New ns_memoize and related commands which act + just like ns_cache_eval but use the script as a key into the + memoize cache. + 2005-12-22 Stephen Deasey <sd...@us...> |