code: def startEventLoop(name, port, authkey, ppid, debug=False):
      if debug:
          import os
  
          cprint.cout(
              debug,
              "[%d] connecting to server at port localhost:%d, authkey=%s..\n"
              % (os.getpid(), port, repr(authkey)),
              -1,
          )
      conn = multiprocessing.connection.Client(
          ("localhost", int(port)), authkey=authkey
      )
      if debug:
          cprint.cout(
              debug,
              "[%d] connected; starting remote proxy.\n" % os.getpid(),
              -1,
          )
      global HANDLER
      # ppid = 0 if not hasattr(os, 'getppid') else os.getppid()
      HANDLER = RemoteEventHandler(conn, name, ppid, debug=debug)
      while True:
          try:
              HANDLER.processRequests()  # exception raised when the loop should exit
              time.sleep(0.01)
          except ClosedError:
              HANDLER.debugMsg("Exiting server loop.")
              sys.exit(0)
  
imports: import atexit
  import inspect
  import multiprocessing.connection
  import os
  import signal
  import subprocess
  import sys
  import time
  import pickle
  from ..Qt import QT_LIB, mkQApp
  from ..util import cprint
  from .remoteproxy import ClosedError, LocalObjectProxy, NoResultError, ObjectProxy, RemoteEventHandler
  import threading
label_desc: Use image node_id 1 for calling a global function with example usage: startEventLoop(name, port, authkey, ppid, debug) without return types