in reply to Sitewide states in a web application (specifically cache locking in Catalyst)

After further investigation, it appears that Cache::FastMmap (and consequently Catalyst::Plugin::Cache::FastMmap) has a get_and_set function that handles the locking issues needed to avoid many race conditions. It allows the programmer to send a sub reference which receives the value of one of the cache items and change it, keeping it locked the whole time. While it isn't quite as convenient as something like a "busy_lock" flag, it is more versatile and may even work better for my needs.
  • Comment on Re: Sitewide states in a web application (specifically cache locking in Catalyst)