diff --git a/org.adempiere.base/src/org/compiere/process/SvrProcess.java b/org.adempiere.base/src/org/compiere/process/SvrProcess.java index 7317530140..944665e38f 100644 --- a/org.adempiere.base/src/org/compiere/process/SvrProcess.java +++ b/org.adempiere.base/src/org/compiere/process/SvrProcess.java @@ -620,7 +620,11 @@ public abstract class SvrProcess implements ProcessCall //save logging info even if context is lost if (noContext) Env.getCtx().put("#AD_Client_ID", m_pi.getAD_Client_ID()); - + + //clear interrupt signal so that we can unlock the ad_pinstance record + if (Thread.currentThread().isInterrupted()) + Thread.interrupted(); + MPInstance mpi = new MPInstance (getCtx(), m_pi.getAD_PInstance_ID(), null); if (mpi.get_ID() == 0) { diff --git a/org.adempiere.server/src/main/server/org/compiere/server/AdempiereServerMgr.java b/org.adempiere.server/src/main/server/org/compiere/server/AdempiereServerMgr.java index c4419c48d1..e0e15ae8fd 100644 --- a/org.adempiere.server/src/main/server/org/compiere/server/AdempiereServerMgr.java +++ b/org.adempiere.server/src/main/server/org/compiere/server/AdempiereServerMgr.java @@ -730,8 +730,10 @@ public class AdempiereServerMgr implements ServiceTrackerCustomizer