def run(self):
        self.socket.setblocking(1)
        pool = Pool(self.worker_connections)
        self.server_class.base_env['wsgi.multiprocess'] = (self.cfg.workers > 1)
        server = self.server_class(self.socket, application=self.wsgi,
                        spawn=pool, handler_class=self.wsgi_handler,
                        namespace=self.namespace, policy_server=self.policy_server)
        server.start()
        try:
            while self.alive:
                self.notify()

                if self.ppid != os.getppid():
                    self.log.info("Parent changed, shutting down: %s", self)
                    break

                gevent.sleep(1.0)

        except __HOLE__:
            pass

        # try to stop the connections
        try:
            self.notify()
            server.stop(timeout=self.timeout)
        except:
            pass
dataset/ETHPy150Open abourget/pyramid_socketio/pyramid_socketio/gunicorn/workers.py/GeventSocketIOBaseWorker.run