mirror of
https://github.com/X11Libre/xserver.git
synced 2026-04-14 17:18:09 +00:00
Get rid of the rest of the FD passing code when XTRANS_SEND_FDS isn't set
req_fds and SetReqFds in include/dixstruct.h ReadFdFromClient, WriteFdToClient and the FD flushing in os/io.c Signed-off-by: Keith Packard <keithp@keithp.com>
This commit is contained in:
@@ -110,15 +110,19 @@ typedef struct _Client {
|
||||
|
||||
DeviceIntPtr clientPtr;
|
||||
ClientIdPtr clientIds;
|
||||
#if XTRANS_SEND_FDS
|
||||
int req_fds;
|
||||
#endif
|
||||
} ClientRec;
|
||||
|
||||
#if XTRANS_SEND_FDS
|
||||
static inline void
|
||||
SetReqFds(ClientPtr client, int req_fds) {
|
||||
if (client->req_fds != 0 && req_fds != client->req_fds)
|
||||
LogMessage(X_ERROR, "Mismatching number of request fds %d != %d\n", req_fds, client->req_fds);
|
||||
client->req_fds = req_fds;
|
||||
}
|
||||
#endif
|
||||
|
||||
/*
|
||||
* Scheduling interface
|
||||
|
||||
@@ -98,9 +98,11 @@ extern _X_EXPORT int WaitForSomething(int * /*pClientsReady */
|
||||
|
||||
extern _X_EXPORT int ReadRequestFromClient(ClientPtr /*client */ );
|
||||
|
||||
#if XTRANS_SEND_FDS
|
||||
extern _X_EXPORT int ReadFdFromClient(ClientPtr client);
|
||||
|
||||
extern _X_EXPORT int WriteFdToClient(ClientPtr client, int fd, Bool do_close);
|
||||
#endif
|
||||
|
||||
extern _X_EXPORT Bool InsertFakeRequest(ClientPtr /*client */ ,
|
||||
char * /*data */ ,
|
||||
|
||||
4
os/io.c
4
os/io.c
@@ -259,12 +259,14 @@ ReadRequestFromClient(ClientPtr client)
|
||||
oc->input = oci;
|
||||
}
|
||||
|
||||
#if XTRANS_SEND_FDS
|
||||
/* Discard any unused file descriptors */
|
||||
while (client->req_fds > 0) {
|
||||
int req_fd = ReadFdFromClient(client);
|
||||
if (req_fd >= 0)
|
||||
close(req_fd);
|
||||
}
|
||||
#endif
|
||||
/* advance to start of next request */
|
||||
|
||||
oci->bufptr += oci->lenLastReq;
|
||||
@@ -491,6 +493,7 @@ ReadRequestFromClient(ClientPtr client)
|
||||
return needed;
|
||||
}
|
||||
|
||||
#if XTRANS_SEND_FDS
|
||||
int
|
||||
ReadFdFromClient(ClientPtr client)
|
||||
{
|
||||
@@ -513,6 +516,7 @@ WriteFdToClient(ClientPtr client, int fd, Bool do_close)
|
||||
|
||||
return _XSERVTransSendFd(oc->trans_conn, fd, do_close);
|
||||
}
|
||||
#endif
|
||||
|
||||
/*****************************************************************
|
||||
* InsertFakeRequest
|
||||
|
||||
Reference in New Issue
Block a user