def tcp_server(listensocket, server, *args, **kw): """ Given a socket, accept connections forever, spawning greenlets and executing *server* for each new incoming connection. When *listensocket* is closed, the ``tcp_server()`` greenlet will end. listensocket The socket from which to accept connections. server The callable to call when a new connection is made. \*args The positional arguments to pass to *server*. \*\*kw The keyword arguments to pass to *server*. """ import warnings warnings.warn("gevent.socket.tcp_server is deprecated", DeprecationWarning, stacklevel=2) try: try: while True: client_socket = listensocket.accept() spawn_raw(server, client_socket, *args, **kw) except error, e: # Broken pipe means it was shutdown if e[0] != 32: raise finally: listensocket.close()
def start_new_thread(function, args=(), kwargs={}): greenlet = spawn_raw(function, *args, **kwargs) return get_ident(greenlet)