txlyre 3 月之前
父节点
当前提交
073c3b6736
共有 1 个文件被更改,包括 6 次插入14 次删除
  1. 6 14
      qirt.c

+ 6 - 14
qirt.c

@@ -2314,16 +2314,12 @@ static qi_bool _qi_guarded_equals(qi_state_t *state, qi_size_t depth,
     qi_list_push(tempstack, a);
     qi_list_push(tempstack, b);
 
+    if (a->value.list == b->value.list)
+      return true;
+
     qi_mutex_lock(a->mutex);
     qi_mutex_lock(b->mutex);
 
-    if (a->value.list == b->value.list) {
-      qi_mutex_unlock(a->mutex);
-      qi_mutex_unlock(b->mutex);
-
-      return true;
-    }
-
     if (qi_list_length(a->value.list) != qi_list_length(b->value.list)) {
       qi_mutex_unlock(a->mutex);
       qi_mutex_unlock(b->mutex);
@@ -2368,16 +2364,12 @@ static qi_bool _qi_guarded_equals(qi_state_t *state, qi_size_t depth,
     qi_list_push(tempstack, a);
     qi_list_push(tempstack, b);
 
+    if (a->value.table.table == b->value.table.table)
+      return true;
+
     qi_mutex_lock(a->mutex);
     qi_mutex_lock(b->mutex);
 
-    if (a->value.table.table == b->value.table.table) {
-      qi_mutex_unlock(a->mutex);
-      qi_mutex_unlock(b->mutex);
-
-      return true;
-    }
-
     if (qi_table_length(a->value.table.table) !=
         qi_table_length(b->value.table.table)) {
       qi_mutex_unlock(a->mutex);