<div dir="ltr"><div>Hi All,</div><div><br></div><div>I have a question related to the wl_client creation in the compositor. I followed these step like weston did:</div><div><br></div><div>1. create socketpair.</div><div>2. fork a process and close `socket[0]` in child, close `socket[1]` in in parent process.<br></div><div>3. set the `WAYLAND_SOCKET` to `socket[1]`. <br></div><div>4. exec the program.</div><div><br></div><div>I found out if I do this directly both compositor and client will stuck in the eventloop. It seems the compositor is stuck in the `wl_display_flush_clients` and client is stuck in `wl_event_queue_dispatch` and internally stuck in the epoll.  So I think both compositor and client were waiting each other for some update.<br></div><div><br></div><div>Then I found out that  I need to pack the code in a `wl_event_loop_idle_func_t` and add it to the event_loop. But I am couldn't figure out why did the compositor stuck in the first place and why did the wl_event_loop_add_idle helped.</div><div><br></div><div>Thanks very much.</div><div>SZ<br></div></div>