diff options
author | cinap_lenrek <cinap_lenrek@felloff.net> | 2014-11-14 23:36:18 +0100 |
---|---|---|
committer | cinap_lenrek <cinap_lenrek@felloff.net> | 2014-11-14 23:36:18 +0100 |
commit | 52c1f712ecdeb7e02e8c4a4bc1bd5146898b277d (patch) | |
tree | 7416b8122c865bf6647934c17b380335d00a5cb5 | |
parent | f51f73bdca8b2dcb268a9a2edef4da95e2de738f (diff) | |
download | plan9front-52c1f712ecdeb7e02e8c4a4bc1bd5146898b277d.tar.xz |
upas/fs: handle cwfs "file is locked" error message
-rw-r--r-- | sys/src/cmd/upas/fs/plan9.c | 12 |
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){ |