Kaynağa Gözat

Only call the expensive index_del() if unlink() did not fail.

default 3 yıl önce
ebeveyn
işleme
8e7efad27f
1 değiştirilmiş dosya ile 2 ekleme ve 2 silme
  1. 2 2
      data.c

+ 2 - 2
data.c

@@ -566,8 +566,8 @@ int _object_user_cache(snac *snac, const char *id, const char *cachedir, int del
     int ret;
 
     if (del) {
-        index_del(idx, id); // expensive; let it fail on processing?
-        ret = unlink(cfn);
+        if ((ret = unlink(cfn)) != -1)
+            index_del(idx, id);
     }
     else {
         index_add(idx, id);