[PATCH] weston: Don't ask for EGL depth buffer if not needed
spitzak at gmail.com
Thu Mar 22 13:01:53 PDT 2012
Kristian Hoegsberg wrote:
> It's not getting ignored, it's on my list. I read the thread and
> obviously there's a serious bug in connection.c that you and others
> are hitting (and I think I've seen it myself). This just can't be the
> right fix. If you're just typing into the terminal, there's no way
> the protocol buffer would fill up before we send it so you're not
> hitting this case. Also, we don't flush the data without also sending
> the fds, so you won't get into a case where there are fds left but no
> data in the buffer. And if that happened, the fix isn't to send an
> empty data buffer with the fds, as that doesn't work, there always has
> to be a regular data payload (as I'm writing this, I can't actually
> find a man page that states this...).
> Anyway, I'll take a look and see if I can reproduce it. If you can
> post a full backtrace and maybe try to valgrind it, that would be
Thanks it is good to know. I did suspect that such an obvious bug would
not be in there and you have reason to believe this function should
never be called when the data buffer is empty and want to find out what
is really wrong.
The terminal does not crash, instead the compositor gets a protocol
error and then it kills the client.
This patch does fix it and I see no sign of a message getting lost or a
extra one being created, when I put debug statements in both client and
I did get a stack dump from the point where this if statement is taken,
but I don't have it now. I will reproduce it tonight and send it. It was
inside the attach() call in wayland_client.c however.
More information about the wayland-devel