diff options
author | José Fonseca <[email protected]> | 2013-04-24 10:49:57 +0100 |
---|---|---|
committer | José Fonseca <[email protected]> | 2013-04-24 16:54:58 +0100 |
commit | e29525f79fdb62993e14a4bc87a9e0955b838de0 (patch) | |
tree | 9b859911b1d1f76d9c2501c9c236037081de9226 /src/gallium/drivers/r600/r600_shader.c | |
parent | 1a87473998b4af2dbe37aa3ce0c004e62d3fe2c0 (diff) |
winsys/sw/xlib: Prevent shared memory segment leakage.
Running piglit with this was causing all sort of weird stuff happening
to my desktop (Chromium webpages become blank, Qt Creator flickered,
etc). I tracked this down to shared memory segment leakage when GL is
not shutdown properly. The segments can be seen running `ipcs` and
looking for nattch==0.
This changes fixes this by calling shmctl(IPC_RMID) soon after creation
(which does not remove the segment immediately, but simply marks it for
removal when no more processes are attached).
This matches src/mesa/drivers/x11/xm_buffer.c behaviour.
v2:
- move shmctl(IPC_RMID) after XShmAttach() for *BSD, per Chris Wilson
- remove stray debug printfs, spotted by Ian Romanick
NOTE: This is a candidate for stable branches.
Reviewed-by: Brian Paul <[email protected]>
Diffstat (limited to 'src/gallium/drivers/r600/r600_shader.c')
0 files changed, 0 insertions, 0 deletions