class_docstr: Event loop for posix systems (Linux, Mac os X).
docstr: Call this function in the main event loop.
  Similar to Twisted's ``callFromThread``.
  
  :param _max_postpone_until: `None` or `time.time` value. For interal
      use. If the eventloop is saturated, consider this task to be low
      priority and postpone maximum until this timestamp. (For instance,
      repaint is done using low priority.)
docstr_tok: ["Call","this","function","in","the","main","event","loop",".","Similar","to","Twisted","'s","``","callFromThread","``",".",":","param","_max_postpone_until",":","`","None","`","or","`","time.time","`","value",".","For","interal","use",".","If","the","eventloop","is","saturated",",","consider","this","task","to","be","low","priority","and","postpone","maximum","until","this","timestamp",".","(","For","instance",",","repaint","is","done","using","low","priority",".",")"]
code: def call_from_executor(self, callback, _max_postpone_until=None):
      """
      Call this function in the main event loop.
      Similar to Twisted's ``callFromThread``.
  
      :param _max_postpone_until: `None` or `time.time` value. For interal
          use. If the eventloop is saturated, consider this task to be low
          priority and postpone maximum until this timestamp. (For instance,
          repaint is done using low priority.)
      """
      assert _max_postpone_until is None or isinstance(
          _max_postpone_until, float
      )
      self._calls_from_executor.append((callback, _max_postpone_until))
  
      if self._schedule_pipe:
          try:
              os.write(self._schedule_pipe[1], b"x")
          except (AttributeError, IndexError, OSError):
              # Handle race condition. We're in a different thread.
              # - `_schedule_pipe` could have become None in the meantime.
              # - We catch `OSError` (actually BrokenPipeError), because the
              #   main thread could have closed the pipe already.
              pass
  
imports: from __future__ import unicode_literals
  import fcntl
  import os
  import signal
  import threading
  import time
  from prompt_toolkit.terminal.vt100_input import InputStream
  from prompt_toolkit.utils import DummyContext, in_main_thread
  from prompt_toolkit.input import Input
  from .base import EventLoop, INPUT_TIMEOUT
  from .callbacks import EventLoopCallbacks
  from .inputhook import InputHookContext
  from .posix_utils import PosixStdinReader
  from .utils import TimeIt
  from .select import AutoSelector, Selector, fd_to_int
label_desc: Use image node_id 6 for calling the PosixEventLoop obj's underlying member method code with example usage: obj.call_from_executor(callback, _max_postpone_until) without return types