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) { |
