Mercurial > jhg
comparison src/org/tmatesoft/hg/repo/HgRepositoryLock.java @ 631:8a5cdcb27b8f
AIOOBE in HgManifest.RevisionMapper. Provide more details about exception context. Create lock file atomically. Test concurrent pull-rebase and read
author | Artem Tikhomirov <tikhomirov.artem@gmail.com> |
---|---|
date | Thu, 30 May 2013 15:24:17 +0200 |
parents | 5afc7eedb3dd |
children | 5d8798772cca |
comparison
equal
deleted
inserted
replaced
630:72c979555cb8 | 631:8a5cdcb27b8f |
---|---|
118 byte[] bytes = lockDescription.toString().getBytes(); | 118 byte[] bytes = lockDescription.toString().getBytes(); |
119 long stopTime = timeoutSeconds < 0 ? -1 : (System.currentTimeMillis() + timeoutSeconds*1000); | 119 long stopTime = timeoutSeconds < 0 ? -1 : (System.currentTimeMillis() + timeoutSeconds*1000); |
120 do { | 120 do { |
121 synchronized(this) { | 121 synchronized(this) { |
122 try { | 122 try { |
123 if (!lockFile.exists()) { | 123 if (lockFile.createNewFile()) { |
124 write(lockFile, bytes); | 124 write(lockFile, bytes); |
125 use++; | 125 use++; |
126 return; | 126 return; |
127 } | 127 } |
128 } catch (IOException ex) { | 128 } catch (IOException ex) { |