wayland-server: Don't close display fd in fatal error handler

We can't do that there, we have to make sure it stays a valid fd until
the application calls wl_display_disconnect().  Otherwise the application
may end up poll()ing on a stale or wrong fd in case another part of the
application (or another thread) triggered a fatal error.
This commit is contained in:
Kristian Høgsberg 2013-07-09 18:59:11 -04:00
parent becca5fcf7
commit 93d888aec6

View file

@ -107,8 +107,6 @@ display_fatal_error(struct wl_display *display, int error)
error = 1;
display->last_error = error;
close(display->fd);
display->fd = -1;
wl_list_for_each(iter, &display->event_queue_list, link)
pthread_cond_broadcast(&iter->cond);
@ -612,8 +610,7 @@ wl_display_disconnect(struct wl_display *display)
wl_event_queue_release(&display->queue);
pthread_mutex_destroy(&display->mutex);
pthread_cond_destroy(&display->reader_cond);
if (display->fd > 0)
close(display->fd);
close(display->fd);
free(display);
}