Fix possible double lock in certain cases if request is interrupted
authorMiklos Szeredi <miklos@szeredi.hu>
Fri, 19 Jan 2007 22:52:02 +0000 (22:52 +0000)
committerMiklos Szeredi <miklos@szeredi.hu>
Fri, 19 Jan 2007 22:52:02 +0000 (22:52 +0000)
lib/fuse.c

index e76ac17c7e058fd268308123b267e7b110dfdb9a..3c5dc6cc7316ea2fe7bbf97d56643eb845abf953 100644 (file)
@@ -1465,8 +1465,10 @@ static double diff_timespec(const struct timespec *t1,
 static void open_auto_cache(struct fuse *f, fuse_req_t req, fuse_ino_t ino,
                             const char *path, struct fuse_file_info *fi)
 {
+    struct node *node;
+
     pthread_mutex_lock(&f->lock);
-    struct node *node = get_node(f, ino);
+    node = get_node(f, ino);
     if (node->cache_valid) {
         struct timespec now;