[PATCH 4/4] compositor: remove only once source from event loop

Tiago Vignatti tiago.vignatti at intel.com
Wed Aug 3 02:12:33 PDT 2011


the following offending error, was segfaulting the compositor at exit
time:

==3723== Invalid free() / delete / delete[]
==3723==    at 0x4D8EC4D: free (vg_replace_malloc.c:366)
==3723==    by 0x4D9D989: wl_event_source_fd_remove (event-loop.c:88)
==3723==    by 0x4D9E106: wl_event_source_remove (event-loop.c:379)
==3723==    by 0x805206D: wlsc_xserver_destroy (xserver-launcher.c:702)
==3723==    by 0x8050299: main (compositor.c:2115)
==3723==  Address 0xa0dc4d8 is 0 bytes inside a block of size 28 free'd
==3723==    at 0x4D8EC4D: free (vg_replace_malloc.c:366)
==3723==    by 0x4D9D989: wl_event_source_fd_remove (event-loop.c:88)
==3723==    by 0x4D9E106: wl_event_source_remove (event-loop.c:379)
==3723==    by 0x80518F5: wlsc_xserver_handle_event (xserver-launcher.c:525)
==3723==    by 0x4D9D951: wl_event_source_fd_dispatch (event-loop.c:76)
==3723==    by 0x4D9E36C: wl_event_loop_dispatch (event-loop.c:452)
==3723==    by 0x4D9CC97: wl_display_run (wayland-server.c:734)
==3723==    by 0x8050286: main (compositor.c:2112)

Signed-off-by: Tiago Vignatti <tiago.vignatti at intel.com>
---
 compositor/xserver-launcher.c |    1 -
 1 files changed, 0 insertions(+), 1 deletions(-)

diff --git a/compositor/xserver-launcher.c b/compositor/xserver-launcher.c
index 6968083..4b54b1c 100644
--- a/compositor/xserver-launcher.c
+++ b/compositor/xserver-launcher.c
@@ -699,6 +699,5 @@ wlsc_xserver_destroy(struct wlsc_compositor *compositor)
 	snprintf(path, sizeof path, "/tmp/.X11-unix/X%d", wxs->display);
 	unlink(path);
 	close(wxs->fd);
-	wl_event_source_remove(wxs->source);
 	free(wxs);
 }
-- 
1.7.2.2



More information about the wayland-devel mailing list