]> git.sur5r.net Git - openldap/blobdiff - servers/slapd/alock.c
check for ee == NULL
[openldap] / servers / slapd / alock.c
index c7bb16d56f3b41c9ccd4518e38381cc68f783bd7..d469d3b56fcd1dd18ad207f689536b54ba8c3e2c 100644 (file)
@@ -516,7 +516,7 @@ alock_scan ( alock_info_t * info )
 }
 
 int
-alock_close ( alock_info_t * info )
+alock_close ( alock_info_t * info, int nosave )
 {
        alock_slot_t slot_data;
        int res;
@@ -540,7 +540,9 @@ alock_close ( alock_info_t * info )
                        free (slot_data.al_appname);
                return ALOCK_UNSTABLE;
        }
-       slot_data.al_lock = ALOCK_UNLOCKED | (slot_data.al_lock & ALOCK_NOSAVE);
+       slot_data.al_lock = ALOCK_UNLOCKED;
+       if ( nosave )
+               slot_data.al_lock |= ALOCK_NOSAVE;
        res = alock_write_slot (info, &slot_data);
        if (res == -1) {
                close (info->al_fd);