diff options
author | Keith Packard <keithp@keithp.com> | 2014-09-10 15:04:00 -0700 |
---|---|---|
committer | Keith Packard <keithp@keithp.com> | 2014-09-18 15:29:27 -0700 |
commit | a11fc2493e85e4a532f4954805a7c6d1c601b08f (patch) | |
tree | e43b0dde717f3e0a5ba344362e3ca2e76b4cba83 | |
parent | 9e07f3a3d28b01402beecb3280c94fc525bd8075 (diff) |
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 <keithp@keithp.com>
Reviewed-by: Adam Jackson <ajax@redhat.com>
-rw-r--r-- | dix/main.c | 2 | ||||
-rw-r--r-- | dix/registry.c | 4 | ||||
-rw-r--r-- | include/registry.h | 1 |
3 files changed, 7 insertions, 0 deletions
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 */ |