Skip to content

auto_reconnect fails after a reload and restart #148

Description

@rvalieris

if you reload and restart i3, the auto_reconnect fails:

Traceback (most recent call last):
  File "<stdin>", line 1, in <module>
  File "/usr/lib/python3.8/site-packages/i3ipc/connection.py", line 518, in main
    raise loop_exception
  File "/usr/lib/python3.8/site-packages/i3ipc/connection.py", line 489, in main
    self._event_socket_setup()
  File "/usr/lib/python3.8/site-packages/i3ipc/connection.py", line 417, in _event_socket_setup
    self._subscribe(self.subscriptions)
  File "/usr/lib/python3.8/site-packages/i3ipc/connection.py", line 344, in _subscribe
    data = self._ipc_send(self._sub_socket, MessageType.SUBSCRIBE, json.dumps(events_obj))
  File "/usr/lib/python3.8/site-packages/i3ipc/connection.py", line 144, in _ipc_send
    data, msg_type = self._ipc_recv(sock)
  File "/usr/lib/python3.8/site-packages/i3ipc/connection.py", line 127, in _ipc_recv
    data = sock.recv(14)
ConnectionResetError: [Errno 104] Connection reset by peer

to reproduce:

  1. start a i3ipc program:
import i3ipc
i3 = i3ipc.Connection(auto_reconnect=True)
i3.on(i3ipc.Event.WINDOW, lambda _,e: print(e))
i3.main()
  1. reload i3
  2. restart i3

a restart by itself works, reload is fine too, but a restart (any time) after the reload causes the problem.

Metadata

Metadata

Assignees

Labels

Type

No type

Projects

No projects

Milestone

No milestone

Relationships

None yet

Development

No branches or pull requests

Issue actions