Update the add operation code in order to reverse the order in which the locks
for the target entry and its parent are released. This fixes a problem in
which deadlocks can occur if a task entry is added and then the client
repeatedly retrieves the entry to keep up to date on the status of the task.
OpenDS Issue Number: 1137
| | |
| | | } |
| | | finally |
| | | { |
| | | if (parentLock != null) |
| | | { |
| | | LockManager.unlock(parentDN, parentLock); |
| | | } |
| | | |
| | | if (entryLock != null) |
| | | { |
| | | LockManager.unlock(entryDN, entryLock); |
| | | } |
| | | |
| | | if (parentLock != null) |
| | | { |
| | | LockManager.unlock(parentDN, parentLock); |
| | | } |
| | | |
| | | |
| | | for (SynchronizationProvider provider : |
| | | DirectoryServer.getSynchronizationProviders()) |