X-Git-Url: https://git.sur5r.net/?a=blobdiff_plain;f=servers%2Fslapd%2Falock.c;h=d469d3b56fcd1dd18ad207f689536b54ba8c3e2c;hb=24db207196a453a4f9acdce08593c7e0ed53ce4c;hp=c7bb16d56f3b41c9ccd4518e38381cc68f783bd7;hpb=bbc719ca56753b448727340d732b8183162dfdfb;p=openldap diff --git a/servers/slapd/alock.c b/servers/slapd/alock.c index c7bb16d56f..d469d3b56f 100644 --- a/servers/slapd/alock.c +++ b/servers/slapd/alock.c @@ -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);