On 2018-01-09 09:24 AM, Daniel Stone wrote:
Hi,

On 3 January 2018 at 22:25, Derek Foreman <der...@osg.samsung.com> wrote:
On 2017-12-28 01:53 PM, Daniel Stone wrote:
@@ -434,10 +499,14 @@ proxy_destroy(struct wl_proxy *proxy)
         if (proxy->flags & WL_PROXY_FLAG_ID_DELETED) {
                 wl_map_remove(&proxy->display->objects, proxy->object.id);
         } else if (proxy->object.id < WL_SERVER_ID_START) {
+               struct wl_zombie *zombie = prepare_zombie(proxy);


I think we discussed this on irc and I said this patch was ok, but I missed
this change...

prepare_zombie(proxy) should probably only be called from wl_proxy_create
and create_for_id - calling it in the destroy path results in a malloc()
call during deleting.

Should the malloc() fail and we can't actually allocate the zombie at during
deletion we're going to have a problem.

Hm, yes. On the other hand, if we can't allocate the zombie object,
then we probably won't be able to allocate the closure when
demarshaling the events either?

I suppose since OOM situations can be ephemeral this isn't universally true, but I guess in situations like that we're going to fall apart rather soon after anyway.

The other thing I started doing before this move, was just allocating
zombie on the end of the wl_proxy so we only have one allocation and
free. It does mean that proxies will consume more memory when undead,
I suppose. I don't have strong feelings either way, so am happy to
with any of those three ...

I'm not really tied to any specific implementation method. That way would be fine with me too if you prefer it. I don't think the memory increase will be significant.

For reference,
https://lists.freedesktop.org/archives/wayland-devel/2017-April/033877.html

Was where Pekka suggested the up-front allocation to avoid problems in low memory conditions.

I suspect 100% of the software I work on on a daily basis will explode in completely unpredictable and undiagnosable ways in response to a malloc() failure anyway, so you can have my

Reviewed-by: Derek Foreman <der...@osg.samsung.com>

for the current approach - but I would like to give Pekka an opportunity to veto, since I think strictly speaking he's correct. :)

Thanks,
Derek

Otherwise, I like the way you've split up the series, and I've reviewed your
new patches.

Thanks a lot! I'll leave them sit for a couple more days to see if
anyone spots anything and then just push them if not.

Cheers,
Daniel
_______________________________________________
wayland-devel mailing list
wayland-devel@lists.freedesktop.org
https://lists.freedesktop.org/mailman/listinfo/wayland-devel


_______________________________________________
wayland-devel mailing list
wayland-devel@lists.freedesktop.org
https://lists.freedesktop.org/mailman/listinfo/wayland-devel

Reply via email to