LibGUI: Add some extremely primitive retrying for the server connection.

This commit is contained in:
Andreas Kling 2019-02-14 17:43:20 +01:00
commit c7f5213d5b
Notes: sideshowbarker 2024-07-19 15:42:50 +09:00

View file

@ -39,10 +39,18 @@ GEventLoop::GEventLoop()
sockaddr_un address;
address.sun_family = AF_LOCAL;
strcpy(address.sun_path, "/wsportal");
int rc = connect(m_event_fd, (const sockaddr*)&address, sizeof(address));
if (rc < 0) {
int retries = 10;
int rc = 0;
while (retries) {
rc = connect(m_event_fd, (const sockaddr*)&address, sizeof(address));
if (rc == 0)
break;
dbgprintf("connect failed: %d, %s\n", errno, strerror(errno));
perror("connect");
sleep(1);
--retries;
}
if (rc < 0) {
ASSERT_NOT_REACHED();
}
}