summaryrefslogtreecommitdiff
path: root/lib/feed2imap/feed2imap.rb
diff options
context:
space:
mode:
authorlnu <lnu@f70e237a-67f3-0310-a06c-d2b8a7116972>2006-01-02 23:13:26 +0000
committerlnu <lnu@f70e237a-67f3-0310-a06c-d2b8a7116972>2006-01-02 23:13:26 +0000
commit4df78397fea8aaa10d6b99bd08119fa7c2af33ee (patch)
treed3a44b0bc4f85c2b307758333a02d0bcaf039c6d /lib/feed2imap/feed2imap.rb
parentc8a7a285dc83f05cbbd8b935fcf1d9c780f77ced (diff)
downloadfeed2imap-4df78397fea8aaa10d6b99bd08119fa7c2af33ee.tar.gz
feed2imap-4df78397fea8aaa10d6b99bd08119fa7c2af33ee.tar.bz2
feed2imap-4df78397fea8aaa10d6b99bd08119fa7c2af33ee.zip
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
Diffstat (limited to 'lib/feed2imap/feed2imap.rb')
-rw-r--r--lib/feed2imap/feed2imap.rb8
1 files changed, 7 insertions, 1 deletions
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')