[PATCH 20/42] Move DGA from extmod to built-in
Paulo Zanoni
przanoni at gmail.com
Fri Dec 2 13:17:24 PST 2011
2011/12/2 Daniel Stone <daniel at fooishbar.org>:
> @@ -90,6 +104,9 @@ load_extension_config(void)
> }
> #endif
> }
> +
> + for (i = 0; i < ARRAY_SIZE(extensionModules); i++)
> + LoadExtension(&extensionModules[i], TRUE);
> }
>
> void
With this statement, Xorg will try to load its modules twice. Maybe it
was added by accident? Don't forget to remove the "int i" declaration
too.
Look: http://cgit.freedesktop.org/~daniels/xserver/tree/hw/xfree86/common/xf86Extensions.c?h=extension-cleanup&id=2c4cb57dfa2e37ef910be298c2bcbb9731e5f137#n108
xf86ExtensionInit will call load_extension_config, which will do that
loop quoted above (line 108). Then, at line 119 xf86ExtensionInit will
run the same loop again.
I cloned your full git tree, and Xorg was not starting because of
that. After I removed exactly the lines I quoted, Xorg starts and I
can login and play OpenArena (but I didn't test too much). I also
checked that simple Xorg startup/shutdown without clients doesn't
introduce any new memory leaks, and it also accidentaly fixes a memory
leak because you removed LoaderSortExtensions.
As a side note, don't we get a faster server startup after all this?
Did anyone measure?
I'll keep running your tree to see if I find anything else.
Cheers,
Paulo
--
Paulo Zanoni
More information about the xorg-devel
mailing list