From 4df78397fea8aaa10d6b99bd08119fa7c2af33ee Mon Sep 17 00:00:00 2001 From: lnu Date: Mon, 2 Jan 2006 23:13:26 +0000 Subject: added a lockfile for the cache file git-svn-id: svn+ssh://svn.gna.org/svn/feed2imap/trunk/feed2imap@74 f70e237a-67f3-0310-a06c-d2b8a7116972 --- lib/feed2imap/feed2imap.rb | 8 +++++++- 1 file changed, 7 insertions(+), 1 deletion(-) (limited to 'lib/feed2imap/feed2imap.rb') diff --git a/lib/feed2imap/feed2imap.rb b/lib/feed2imap/feed2imap.rb index 250a0e7..77bd48e 100644 --- a/lib/feed2imap/feed2imap.rb +++ b/lib/feed2imap/feed2imap.rb @@ -65,7 +65,13 @@ class Feed2Imap if not File::exist?(@config.cache) @logger.warn("Cache file #{@config.cache} not found, using a new one") else - File::open(@config.cache) { |f| @cache.load(f) } + File::open(@config.cache) do |f| + if not f.flock(File::LOCK_UN) + @logger.fatal("Another instance of feed2imap is already locking the cache file") + exit(1) + end + @cache.load(f) + end end # connecting all IMAP accounts @logger.info('Connecting to IMAP accounts') -- cgit v1.2.3-54-g00ecf