- len = read(private_thread->pipe[0], buffer, sizeof buffer);
+ do {
+ len = read(private_thread->pipe[0], buffer, sizeof buffer);
+ } while (len < 0 && errno == EINTR);
if (tdm_debug_module & TDM_DEBUG_THREAD)
TDM_INFO("fd(%d) read length(%d)", private_thread->pipe[0], len);
if (tdm_debug_module & TDM_DEBUG_THREAD)
TDM_INFO("fd(%d) read length(%d)", private_thread->pipe[0], len);
tdm_thread_cb_output_status *output_status = (tdm_thread_cb_output_status*)base;
tdm_output *output_backend =
tdm_display_find_output_stamp(private_loop->dpy, output_status->output_stamp);
tdm_thread_cb_output_status *output_status = (tdm_thread_cb_output_status*)base;
tdm_output *output_backend =
tdm_display_find_output_stamp(private_loop->dpy, output_status->output_stamp);
tdm_output_cb_status(output_backend, output_status->status,
output_status->user_data);
break;
tdm_output_cb_status(output_backend, output_status->status,
output_status->user_data);
break;
tdm_thread_cb_output_dpms *output_dpms = (tdm_thread_cb_output_dpms*)base;
tdm_output *output_backend =
tdm_display_find_output_stamp(private_loop->dpy, output_dpms->output_stamp);
tdm_thread_cb_output_dpms *output_dpms = (tdm_thread_cb_output_dpms*)base;
tdm_output *output_backend =
tdm_display_find_output_stamp(private_loop->dpy, output_dpms->output_stamp);
case TDM_THREAD_CB_NEED_VALIDATE: {
tdm_thread_cb_need_validate *ev = (tdm_thread_cb_need_validate*)base;
tdm_output_cb_need_validate(ev->o);
case TDM_THREAD_CB_NEED_VALIDATE: {
tdm_thread_cb_need_validate *ev = (tdm_thread_cb_need_validate*)base;
tdm_output_cb_need_validate(ev->o);