From a11fc2493e85e4a532f4954805a7c6d1c601b08f Mon Sep 17 00:00:00 2001 From: Keith Packard Date: Wed, 10 Sep 2014 15:04:00 -0700 Subject: [PATCH] dix: Close protocol.txt after we're done loading extension names Don't leave this file open during the whole server execution process; close it once all of the extensions are initialized. Signed-off-by: Keith Packard Reviewed-by: Adam Jackson --- dix/main.c | 2 ++ dix/registry.c | 4 ++++ include/registry.h | 1 + 3 files changed, 7 insertions(+) diff --git a/dix/main.c b/dix/main.c index 7427e08ca..930a85fb7 100644 --- a/dix/main.c +++ b/dix/main.c @@ -269,6 +269,8 @@ dix_main(int argc, char *argv[], char *envp[]) dixSaveScreens(serverClient, SCREEN_SAVER_FORCER, ScreenSaverReset); + dixCloseRegistry(); + #ifdef PANORAMIX if (!noPanoramiXExtension) { if (!PanoramiXCreateConnectionBlock()) { diff --git a/dix/registry.c b/dix/registry.c index 82a3340e1..8b76d56ad 100644 --- a/dix/registry.c +++ b/dix/registry.c @@ -309,7 +309,11 @@ dixFreeRegistry(void) resources = NULL; nmajor = nevent = nerror = nresource = 0; +} +void +dixCloseRegistry(void) +{ if (fh) { fclose(fh); fh = NULL; diff --git a/include/registry.h b/include/registry.h index 96be87aad..4e54bf636 100644 --- a/include/registry.h +++ b/include/registry.h @@ -45,6 +45,7 @@ extern _X_EXPORT const char *LookupResourceName(RESTYPE rtype); */ extern _X_EXPORT void dixResetRegistry(void); extern _X_EXPORT void dixFreeRegistry(void); +extern _X_EXPORT void dixCloseRegistry(void); #else /* XREGISTRY */