FIX: Suprocess loops endlessly when the control socket closes.
recvmsg(3) returns 0 if the connection partner has shut down its socket. The communicate function considered 0 a successful message, though, and keeps calling recvmsg(3) again and again.
This commit is contained in:
parent
cc89906ddf
commit
482fc48c74
|
@ -130,7 +130,7 @@ static void communicate(int sock) {
|
||||||
int drm_fd = -1;
|
int drm_fd = -1;
|
||||||
bool running = true;
|
bool running = true;
|
||||||
|
|
||||||
while (running && recv_msg(sock, &drm_fd, &msg, sizeof(msg)) >= 0) {
|
while (running && recv_msg(sock, &drm_fd, &msg, sizeof(msg)) > 0) {
|
||||||
switch (msg.type) {
|
switch (msg.type) {
|
||||||
case MSG_OPEN:
|
case MSG_OPEN:
|
||||||
errno = 0;
|
errno = 0;
|
||||||
|
|
Loading…
Reference in New Issue