URI: 
       tdaemon: simplify get_fd_or_server - electrum - Electrum Bitcoin wallet
  HTML git clone https://git.parazyd.org/electrum
   DIR Log
   DIR Files
   DIR Refs
   DIR Submodules
       ---
   DIR commit b81feb655043aba16b539b097ade76021f8cb665
   DIR parent a9239bd40f2014cb2cc054728fcdb7f680e930bb
  HTML Author: ThomasV <thomasv@electrum.org>
       Date:   Thu, 15 Aug 2019 09:58:23 +0200
       
       daemon: simplify get_fd_or_server
       
       Diffstat:
         M electrum/daemon.py                  |      11 ++++++-----
         M run_electrum                        |       6 ++++--
       
       2 files changed, 10 insertions(+), 7 deletions(-)
       ---
   DIR diff --git a/electrum/daemon.py b/electrum/daemon.py
       t@@ -62,7 +62,7 @@ def remove_lockfile(lockfile):
            os.unlink(lockfile)
        
        
       -def get_fd_or_server(config: SimpleConfig):
       +def get_file_descriptor(config: SimpleConfig):
            '''Tries to create the lockfile, using O_EXCL to
            prevent races.  If it succeeds it returns the FD.
            Otherwise try and connect to the server specified in the lockfile.
       t@@ -71,12 +71,12 @@ def get_fd_or_server(config: SimpleConfig):
            lockfile = get_lockfile(config)
            while True:
                try:
       -            return os.open(lockfile, os.O_CREAT | os.O_EXCL | os.O_WRONLY, 0o644), None
       +            return os.open(lockfile, os.O_CREAT | os.O_EXCL | os.O_WRONLY, 0o644)
                except OSError:
                    pass
                server = get_server(config)
                if server is not None:
       -            return None, server
       +            return
                # Couldn't connect; remove lockfile and try again.
                remove_lockfile(lockfile)
        
       t@@ -170,8 +170,9 @@ class Daemon(DaemonThread):
                DaemonThread.__init__(self)
                self.config = config
                if fd is None and listen_jsonrpc:
       -            fd, server = get_fd_or_server(config)
       -            if fd is None: raise Exception('failed to lock daemon; already running?')
       +            fd = get_file_descriptor(config)
       +            if fd is None:
       +                raise Exception('failed to lock daemon; already running?')
                self.asyncio_loop, self._stop_loop, self._loop_thread = create_and_start_event_loop()
                if config.get('offline'):
                    self.network = None
   DIR diff --git a/run_electrum b/run_electrum
       t@@ -357,13 +357,14 @@ if __name__ == '__main__':
        
            if cmdname == 'gui':
                configure_logging(config)
       -        fd, server = daemon.get_fd_or_server(config)
       +        fd = daemon.get_file_descriptor(config)
                if fd is not None:
                    plugins = init_plugins(config, config.get('gui', 'qt'))
                    d = daemon.Daemon(config, fd)
                    d.init_gui(config, plugins)
                    sys.exit(0)
                else:
       +            server = daemon.get_server()
                    result = server.gui(config_options)
        
            elif cmdname == 'daemon':
       t@@ -373,7 +374,7 @@ if __name__ == '__main__':
        
                if subcommand in [None, 'start']:
                    configure_logging(config)
       -            fd, server = daemon.get_fd_or_server(config)
       +            fd = daemon.get_file_descriptor(config)
                    if fd is not None:
                        if subcommand == 'start':
                            pid = os.fork()
       t@@ -404,6 +405,7 @@ if __name__ == '__main__':
                        d.join()
                        sys.exit(0)
                    else:
       +                server = daemon.get_server(config)
                        result = server.daemon(config_options)
                else:
                    server = daemon.get_server(config)