[PATCH 2/3] dix: Enable client ID tracking in server.
Rami Ylimäki
rami.ylimaki at vincit.fi
Mon Aug 30 06:29:32 PDT 2010
Let X server to keep track of client PIDs and process names. Also make
the client tracking interface available for external modules. Linking
order of Xnest libraries needs to be fixed, because libmain depends on
libdix and not vice versa.
Signed-off-by: Rami Ylimäki <rami.ylimaki at vincit.fi>
---
configure.ac | 2 +-
dix/main.c | 3 +++
hw/xfree86/loader/sdksyms.sh | 1 +
include/Makefile.am | 1 +
4 files changed, 6 insertions(+), 1 deletions(-)
diff --git a/configure.ac b/configure.ac
index 1a1f2d3..bd7a6cf 100644
--- a/configure.ac
+++ b/configure.ac
@@ -1527,7 +1527,7 @@ if test "x$XNEST" = xyes; then
if test "x$have_xnest" = xno; then
AC_MSG_ERROR([Xnest build explicitly requested, but required modules not found.])
fi
- XNEST_LIBS="$FB_LIB $FIXES_LIB $MI_LIB $XEXT_LIB $DBE_LIB $RECORD_LIB $GLX_LIBS $RANDR_LIB $RENDER_LIB $DAMAGE_LIB $MIEXT_DAMAGE_LIB $MIEXT_SHADOW_LIB $XI_LIB $XKB_LIB $XKB_STUB_LIB $COMPOSITE_LIB $DIX_LIB $MAIN_LIB $OS_LIB"
+ XNEST_LIBS="$FB_LIB $FIXES_LIB $MI_LIB $XEXT_LIB $DBE_LIB $RECORD_LIB $GLX_LIBS $RANDR_LIB $RENDER_LIB $DAMAGE_LIB $MIEXT_DAMAGE_LIB $MIEXT_SHADOW_LIB $XI_LIB $XKB_LIB $XKB_STUB_LIB $COMPOSITE_LIB $MAIN_LIB $DIX_LIB $OS_LIB"
XNEST_SYS_LIBS="$XNESTMODULES_LIBS $GLX_SYS_LIBS"
AC_SUBST([XNEST_LIBS])
AC_SUBST([XNEST_SYS_LIBS])
diff --git a/dix/main.c b/dix/main.c
index 5c46dc1..b46433b 100644
--- a/dix/main.c
+++ b/dix/main.c
@@ -104,6 +104,7 @@ Equipment Corporation.
#include "extnsionst.h"
#include "privates.h"
#include "registry.h"
+#include "client.h"
#ifdef PANORAMIX
#include "panoramiXsrv.h"
#else
@@ -260,6 +261,7 @@ int main(int argc, char *argv[], char *envp[])
InitCoreDevices();
InitInput(argc, argv);
InitAndStartDevices();
+ InitClientIds(serverClient);
dixSaveScreens(serverClient, SCREEN_SAVER_FORCER, ScreenSaverReset);
@@ -325,6 +327,7 @@ int main(int argc, char *argv[], char *envp[])
screenInfo.numScreens = i;
}
+ CloseClientIds(serverClient);
dixFreePrivates(serverClient->devPrivates, PRIVATE_CLIENT);
serverClient->devPrivates = NULL;
diff --git a/hw/xfree86/loader/sdksyms.sh b/hw/xfree86/loader/sdksyms.sh
index 13c5ae5..6463182 100755
--- a/hw/xfree86/loader/sdksyms.sh
+++ b/hw/xfree86/loader/sdksyms.sh
@@ -264,6 +264,7 @@ cat > sdksyms.c << EOF
#include "colormap.h"
#include "colormapst.h"
#include "hotplug.h"
+#include "client.h"
#include "cursor.h"
#include "cursorstr.h"
#include "dix.h"
diff --git a/include/Makefile.am b/include/Makefile.am
index e76de05..06cf46f 100644
--- a/include/Makefile.am
+++ b/include/Makefile.am
@@ -4,6 +4,7 @@ sdk_HEADERS = \
bstore.h \
bstorestr.h \
callback.h \
+ client.h \
closestr.h \
closure.h \
colormap.h \
--
1.6.3.3
More information about the xorg-devel
mailing list