@Override
  public List<Runnable> shutdownNow() {
    terminated();
    List<Runnable> l = super.shutdownNow();
    if (bufferQueue != null) {
      bufferQueue.drainTo(l);
    }
    return l;
  }
Is the current thread used for executing Functions?
geode-core/src/main/java/org/apache/geode/distributed/internal/FunctionExecutionPooledExecutor.java