X-Git-Url: https://git.sur5r.net/?a=blobdiff_plain;f=servers%2Fslapd%2Falock.c;h=d469d3b56fcd1dd18ad207f689536b54ba8c3e2c;hb=24db207196a453a4f9acdce08593c7e0ed53ce4c;hp=37d467ad127e658ee0ee0021998f4a13cfa22924;hpb=da6d9eb0463255782f3fa70c61fd958d94c048cf;p=openldap diff --git a/servers/slapd/alock.c b/servers/slapd/alock.c index 37d467ad12..d469d3b56f 100644 --- a/servers/slapd/alock.c +++ b/servers/slapd/alock.c @@ -32,7 +32,7 @@ #include #include #include -#if HAVE_SYS_FILE_H +#ifdef HAVE_SYS_FILE_H #include #endif #include @@ -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);