[Wayland-bugs] [Bug 82957] Weston crash when weston-desktop-shell and weston-keyboard missing
bugzilla-daemon at freedesktop.org
bugzilla-daemon at freedesktop.org
Mon Aug 25 10:41:00 PDT 2014
https://bugs.freedesktop.org/show_bug.cgi?id=82957
--- Comment #3 from Derek Foreman <derekf at osg.samsung.com> ---
Someone on irc (rawoul) explained to me that the destroy listener is actually
required because if it doesn't set client = NULL then something else might try
to free it later. This apparently can lead to a segfault on shutdown - I've
not tried to reproduce this issue myself.
I've also tried removing the sigchld handler and pushing all its functionality
into the destroy listener - that fails in other interesting ways:
- p->cleanup is always called, even if null. (need a no-op handler or to relax
that constraint)
- if the destroy handler tries to add the destroy listener to the newly
launched client's destroy notifiers it'll screw up the current pass through the
old process's destroy handler list.
- the process struct (shell->child.process) is having its pid set to 0 in the
destroy handler - this results in an incorrect log message when weston's
sigchld handler can't find the dead process' pid.
I've tried deferring the call to launch_desktop_shell_process() with
wl_event_loop_add_idle() but I don't know how to convince myself that the idle
timer can't ever launch the new process before compositor.c processes the
sigchld. (which would again result in a spurious unknown process error in the
log)
--
You are receiving this mail because:
You are the assignee for the bug.
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://lists.freedesktop.org/archives/wayland-bugs/attachments/20140825/2b46b7ea/attachment-0001.html>
More information about the Wayland-bugs
mailing list