diff --git a/pyout.py b/pyout.py
index <HASH>..<HASH> 100644
--- a/pyout.py
+++ b/pyout.py
@@ -552,10 +552,7 @@ class Tabular(object):
         return self
 
     def __exit__(self, *args):
-        if self._pool is None:
-            return
-        self._pool.close()
-        self._pool.join()
+        self.wait()
 
     def _setup_style(self):
         default = dict(_schema_default("default_"),
@@ -662,6 +659,14 @@ class Tabular(object):
         if rewrite:
             raise RewritePrevious
 
+    def wait(self):
+        """Wait for asynchronous calls to return.
+        """
+        if self._pool is None:
+            return
+        self._pool.close()
+        self._pool.join()
+
     @contextmanager
     def _write_lock(self):
         """Acquire and release the lock around output calls.
RF: Move Tabular.__exit__ code into wait method

This gives the caller the flexibility of using the context manager or
calling wait directly.