diff --git a/tryton/gui/main.py b/tryton/gui/main.py index cddeed7793..4bb40f11aa 100644 --- a/tryton/gui/main.py +++ b/tryton/gui/main.py @@ -1141,7 +1141,8 @@ class Main(object): return ([], []) def sig_login(self, widget=None, dbname=False, res=None): - self.sig_logout(widget, disconnect=False) + if not self.sig_logout(widget, disconnect=False): + return if not res: try: dblogin = DBLogin(self.window) diff --git a/tryton/ipc.py b/tryton/ipc.py index 85d0cae441..3f28f198a2 100644 --- a/tryton/ipc.py +++ b/tryton/ipc.py @@ -113,7 +113,10 @@ class FIFOServer(IPCServer): fifo = os.fdopen(os.open(self.filename, os.O_RDONLY|os.O_NONBLOCK)) data = '' while self.running: - rlist, _, _ = select.select([fifo], [], [], 1) + try: + rlist, _, _ = select.select([fifo], [], [], 1) + except select.error: + continue if rlist: try: data += fifo.readline()