docs: def server_main(loop, path):
      """Run in the client after the fork."""
      loop.fork()
      logger.debug('forked function')
      sigintwatcher = pyev.Signal(signal.SIGINT, loop, lambda watcher, events: logger.info('interrupt ignored'))
      sigintwatcher.start()
      sigtermwatcher = pyev.Signal(signal.SIGTERM, loop, server_stop)
      sigtermwatcher.start()
      adder = AdderService()
      dispatcher = ObjectDispatch(adder)
      pickle_factory = PickleProtocolFactory(dispatcher)
      pickle_server = UnixServer(loop, pickle_factory, path)
      pickle_server.start()
      msgpack_factory = MsgPackProtocolFactory(dispatcher)
      msgpack_server = UnixServer(loop, msgpack_factory, path + '_mp')
      msgpack_server.start()
  
      logger.debug('running server loop')
  
      import cProfile
      cProfile.runctx('loop.loop()', None, {'loop':loop}, 'server_profile')
  
      logger.debug('server unlooped')