private void completionCheck() { lock.lock(); try { // Don't trigger completion and callbacks if fiber is suspended if(!isCanceled && contsSize==0 && suspendedCount == 0) { if(isTraceEnabled()) LOGGER.log(Level.FINE, "{0} completed", getName()); clearListeners(); condition.signalAll(); if (completionCallback != null) { if (throwable != null) { if (isDeliverThrowableInPacket) { packet.addSatellite(new ThrowableContainerPropertySet(throwable)); completionCallback.onCompletion(packet); } else completionCallback.onCompletion(throwable); } else completionCallback.onCompletion(packet); } } } finally { lock.unlock(); } }
private void completionCheck() { lock.lock(); try { // Don't trigger completion and callbacks if fiber is suspended if(!isCanceled && contsSize==0 && suspendedCount == 0) { if(isTraceEnabled()) LOGGER.log(Level.FINE, "{0} completed", getName()); clearListeners(); condition.signalAll(); if (completionCallback != null) { if (throwable != null) { if (isDeliverThrowableInPacket) { packet.addSatellite(new ThrowableContainerPropertySet(throwable)); completionCallback.onCompletion(packet); } else completionCallback.onCompletion(throwable); } else completionCallback.onCompletion(packet); } } } finally { lock.unlock(); } }
private void completionCheck() { lock.lock(); try { // Don't trigger completion and callbacks if fiber is suspended if(!isCanceled && contsSize==0 && suspendedCount == 0) { if(isTraceEnabled()) LOGGER.log(Level.FINE, "{0} completed", getName()); clearListeners(); condition.signalAll(); if (completionCallback != null) { if (throwable != null) { if (isDeliverThrowableInPacket) { packet.addSatellite(new ThrowableContainerPropertySet(throwable)); completionCallback.onCompletion(packet); } else completionCallback.onCompletion(throwable); } else completionCallback.onCompletion(packet); } } } finally { lock.unlock(); } }