avoid more race conditions
it seems that addLease, updateLease and deleteLease are called in several other places. we should lock the resource there as well:
Dhcpv4Srv::processRelease
Dhcpv4Srv::declineLease
Dhcpv6Srv::releaseIA_NA
Dhcpv6Srv::releaseIA_PD
Dhcpv6Srv::declineLease
Dhcpv6Srv::generateFqdn
LeaseCmdsImpl::lease6BulkApplyHandler - there is a leaseDelete which can cause other races.
LeaseCmdsImpl::lease4DelHandler - will cause race
LeaseCmdsImpl::lease6DelHandler - will cause race
AllocEngine::allocateReservedLeases6
from AllocEngine::allocateLeases6
from Dhcpv6Srv::assignIA_NA
from Dhcpv6Srv::assignIA_PD
from AllocEngine::renewLeases6
from Dhcpv6Srv::extendIA_NA
from Dhcpv6Srv::extendIA_PD
AllocEngine::allocateGlobalReservedLeases6
from AllocEngine::allocateReservedLeases6
AllocEngine::removeNonmatchingReservedLeases6
from AllocEngine::allocateLeases6
from Dhcpv6Srv::assignIA_NA
from Dhcpv6Srv::assignIA_PD
from AllocEngine::renewLeases6
from Dhcpv6Srv::extendIA_NA
from Dhcpv6Srv::extendIA_PD
AllocEngine::removeNonmatchingReservedNoHostLeases6
from AllocEngine::removeNonmatchingReservedLeases6
from AllocEngine::allocateLeases6
from Dhcpv6Srv::assignIA_NA
from Dhcpv6Srv::assignIA_PD
from AllocEngine::renewLeases6
from Dhcpv6Srv::extendIA_NA
from Dhcpv6Srv::extendIA_PD
AllocEngine::removeNonreservedLeases6
from AllocEngine::allocateLeases6
from Dhcpv6Srv::assignIA_NA
from Dhcpv6Srv::assignIA_PD
from AllocEngine::renewLeases6
from Dhcpv6Srv::extendIA_NA
from Dhcpv6Srv::extendIA_PD
AllocEngine::reuseExpiredLease
from AllocEngine::allocateUnreservedLeases6
from AllocEngine::allocateLeases6
from Dhcpv6Srv::assignIA_NA
from Dhcpv6Srv::assignIA_PD
from AllocEngine::renewLeases6
from Dhcpv6Srv::extendIA_NA
from Dhcpv6Srv::extendIA_PD
AllocEngine::createLease6
from AllocEngine::allocateUnreservedLeases6
from AllocEngine::allocateLeases6
from Dhcpv6Srv::assignIA_NA
from Dhcpv6Srv::assignIA_PD
from AllocEngine::renewLeases6
from Dhcpv6Srv::extendIA_NA
from Dhcpv6Srv::extendIA_PD
from AllocEngine::allocateReservedLeases6
from AllocEngine::allocateLeases6
from Dhcpv6Srv::assignIA_NA
from Dhcpv6Srv::assignIA_PD
from AllocEngine::renewLeases6
from Dhcpv6Srv::extendIA_NA
from Dhcpv6Srv::extendIA_PD
from AllocEngine::allocateGlobalReservedLeases6
from AllocEngine::allocateLeases6
from Dhcpv6Srv::assignIA_NA
from Dhcpv6Srv::assignIA_PD
from AllocEngine::renewLeases6
from Dhcpv6Srv::extendIA_NA
from Dhcpv6Srv::extendIA_PD
AllocEngine::extendLease6
from AllocEngine::renewLeases6
from Dhcpv6Srv::extendIA_NA
from Dhcpv6Srv::extendIA_PD
AllocEngine::updateLeaseData
from AllocEngine::allocateLeases6
from Dhcpv6Srv::assignIA_NA
from Dhcpv6Srv::assignIA_PD
AllocEngine::deleteExpiredReclaimedLeases6 - will cause race
AllocEngine::deleteExpiredReclaimedLeases4 - will cause race
AllocEngine::reclaimLeaseInDatabase
from AllocEngine::reclaimExpiredLease Lease4Ptr
from AllocEngine::reclaimExpiredLease Lease6Ptr
AllocEngine::reclaimExpiredLease Lease4Ptr
from AllocEngine::reclaimExpiredLeases4 - safe
from AllocEngine::renewLease4
from AllocEngine::reuseExpiredLease4
AllocEngine::reclaimExpiredLease Lease6Ptr
from AllocEngine::reuseExpiredLease
from AllocEngine::extendLease6
from AllocEngine::reclaimExpiredLeases6 - safe
AllocEngine::createLease4
from AllocEngine::allocateOrReuseLease4
from AllocEngine::discoverLease4
from AllocEngine::requestLease4
AllocEngine::requestLease4
from AllocEngine::allocateLease4
from Dhcpv4Srv::assignLease
AllocEngine::renewLease4
from AllocEngine::discoverLease4
from AllocEngine::allocateLease4
from Dhcpv4Srv::assignLease
from AllocEngine::requestLease4
from AllocEngine::allocateLease4
from Dhcpv4Srv::assignLease
AllocEngine::reuseExpiredLease4
from AllocEngine::allocateOrReuseLease4
from AllocEngine::discoverLease4
from AllocEngine::requestLease4
from AllocEngine::allocateUnreservedLease4
from AllocEngine::discoverLease4
from AllocEngine::requestLease4