-#if DB_VERSION_FULL >= 0x04060012
- BDB_LOCKER lptr = data;
- lockid = lptr->id;
-#else
- lockid = (long)data;
-#endif
- rc = XLOCK_ID_FREE( env, lockid );
- if ( rc == EINVAL ) {
- DB_LOCKREQ lr;
- Debug( LDAP_DEBUG_ANY,
- "bdb_locker_id_free: %lu err %s(%d)\n",
- (unsigned long) lockid, db_strerror(rc), rc );
- /* release all locks held by this locker. */
- lr.op = DB_LOCK_PUT_ALL;
- lr.obj = NULL;
- env->lock_vec( env, lockid, 0, &lr, 1, NULL );
- XLOCK_ID_FREE( env, lockid );
- }