miext: Move SyncShm FDs out of the way of clients
authorKeith Packard <keithp@keithp.com>
Fri, 22 Nov 2013 06:12:34 +0000 (22:12 -0800)
committerKeith Packard <keithp@keithp.com>
Mon, 2 Dec 2013 20:57:08 +0000 (12:57 -0800)
commitb6d7ed4d787a652e8150532f384bfdf51760f3c2
tree8d7bf4b1a92ecccefe2a0aa2832108967a700627
parentcc63204926c6da83d9221c5f8c0dc8f5e2f2481d
miext: Move SyncShm FDs out of the way of clients

Applications may end up allocating a bunch of shmfence objects, each
of which uses a file descriptor, which must be kept open lest some
other client ask for a copy of it later on.

Lacking an API that can turn a memory mapping back into a file
descriptor, about the best we can do is push the file descriptors out
of the way of other X clients so that we don't run out of the ability
to accept new connections.

This uses fcntl F_GETFD to push the FD up above MAXCLIENTS.

Signed-off-by: Keith Packard <keithp@keithp.com>
Reviewed-by: Julien Cristau <jcristau@debian.org>
include/os.h
miext/sync/misyncshm.c
os/utils.c