def unregister_client(self, host, pid, message):
        'XMLRPC call to remove client from register as exiting'
        print >>sys.stderr, 'unregister_client: %s:%d %s' \
                % (host, pid, message)
        try:
            del self.clients[(host, pid)]
        except KeyError:
            print >>sys.stderr, 'unregister_client: unknown client %s:%d' \
                    % (host, pid)
        try: # REMOVE IT FROM THE LIST OF CLIENTS TO SHUTDOWN, IF PRESENT
            del self.stop_clients[(host, pid)]
        except KeyError:
            pass
        try: # REMOVE FROM INITIALIZATION LIST
            del self.clients_initializing[(host, pid)]
        except __HOLE__:
            pass
        if len(self.clients) == 0 and self.done:
            # No more tasks or clients, the server can exit.
            self.exit("Done")
        return True  # USE THIS AS DEFAULT XMLRPC RETURN VALUE
dataset/ETHPy150Open cjlee112/pygr/pygr/coordinator.py/Coordinator.unregister_client