On 12/11/06, Linus Torvalds <torvalds@xxxxxxxx> wrote:
you really want to re-check the existence after you got the lock, otherwise you would race with somebody else that got the lock, generated the data, and then unlocked (and you got the lock _after_ the data was generated, so now you generate it unnecessarily).
Yes, you're right. Thanks for noticing. But this also applies to the case where the cachefile has expired, right? In that case, after getting the lock, I have to recheck that the cachefile is _still_ expired. Anyway, I must say I find it rather unlikely for these cases to occur (frequently) in real life. That would seem to imply that the caching isn't really needed at all.
As a side note: how do you release your caches?
Simple timeouts (time()-stat.st_mtime), depending on what kind of page was requested. If anyone cares about invalid cache content (branch head moving), relevant cachefiles can be deleted with an update-hook. -- larsh - To unsubscribe from this list: send the line "unsubscribe git" in the body of a message to majordomo@xxxxxxxxxxxxxxx More majordomo info at http://vger.kernel.org/majordomo-info.html