summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorcinap_lenrek <cinap_lenrek@felloff.net>2014-11-14 23:36:18 +0100
committercinap_lenrek <cinap_lenrek@felloff.net>2014-11-14 23:36:18 +0100
commit52c1f712ecdeb7e02e8c4a4bc1bd5146898b277d (patch)
tree7416b8122c865bf6647934c17b380335d00a5cb5
parentf51f73bdca8b2dcb268a9a2edef4da95e2de738f (diff)
downloadplan9front-52c1f712ecdeb7e02e8c4a4bc1bd5146898b277d.tar.xz
upas/fs: handle cwfs "file is locked" error message
-rw-r--r--sys/src/cmd/upas/fs/plan9.c12
1 files changed, 7 insertions, 5 deletions
diff --git a/sys/src/cmd/upas/fs/plan9.c b/sys/src/cmd/upas/fs/plan9.c
index 5fb477a2a..7bc2ad47b 100644
--- a/sys/src/cmd/upas/fs/plan9.c
+++ b/sys/src/cmd/upas/fs/plan9.c
@@ -182,11 +182,13 @@ retry:
fd = open(mb->path, OREAD);
if(fd < 0){
rerrstr(err, sizeof(err));
- if(strstr(err, "exclusive lock") != 0 && n++ < 20){
- sleep(500); /* wait for lock to go away */
- goto retry;
- }
- if(strstr(err, "exist") != 0){
+ if(strstr(err, "file is locked") != nil
+ || strstr(err, "exclusive lock") != nil)
+ if(n++ < 20){
+ sleep(500); /* wait for lock to go away */
+ goto retry;
+ }
+ if(strstr(err, "exist") != nil){
tmp = s_copy(mb->path);
s_append(tmp, ".tmp");
if(sysrename(s_to_c(tmp), mb->path) == 0){