2
0

Be clearer about the defaults, <80 width for the janitor comment, and remove 'default cleanup interval' -- there can be only one

This commit is contained in:
Patrick Mylund Nielsen
2012-06-22 03:50:10 +01:00
parent 8495026156
commit aa7f52c169
2 changed files with 15 additions and 14 deletions
+10 -9
View File
@@ -284,11 +284,11 @@ func stopJanitor(c *Cache) {
c.janitor.Stop()
}
// Returns a new cache with a given default expiration duration and default cleanup
// interval. If the expiration duration is less than 1, the items in the cache never
// expire and must be deleted manually. If the cleanup interval is less than one,
// expired items are not deleted from the cache before their next lookup or before
// calling DeleteExpired.
// Returns a new cache with a given default expiration duration and cleanup
// interval. If the expiration duration is less than 1, the items in the cache
// never expire (by default), and must be deleted manually. If the cleanup
// interval is less than one, expired items are not deleted from the cache
// before their next lookup or before calling DeleteExpired.
func New(de, ci time.Duration) *Cache {
if de == 0 {
de = -1
@@ -305,10 +305,11 @@ func New(de, ci time.Duration) *Cache {
c.janitor = j
go j.Run(c)
}
// This trick ensures that the janitor goroutine (which--granted it was enabled--is
// running DeleteExpired on c forever) does not keep the returned C object from being
// garbage collected. When it is garbage collected, the finalizer stops the janitor
// goroutine, after which c can be collected.
// This trick ensures that the janitor goroutine (which--granted it
// was enabled--is running DeleteExpired on c forever) does not keep
// the returned C object from being garbage collected. When it is
// garbage collected, the finalizer stops the janitor goroutine, after
// which c can be collected.
C := &Cache{c}
if ci > 0 {
runtime.SetFinalizer(C, stopJanitor)