Calling free() in signal handler -> hang

Bernardo Innocenti bernie at
Tue Mar 27 16:35:26 PDT 2007

Sergey Udaltsov wrote:

>>  --with-xkb-base=${prefix}/share/X11/xkb --with-xkb-rules-symlink=xorg
> The reason to have the "base" as the default rules name is that I do
> not want to have xkeyboard-config to be bound to xorg exclusively. I
> want xfree people to be able to use it as well. That is why I chosen
> neutral name (base) and if someone wants to have it as either xorg or
> xfree - it is not a problem.

I see.  Then, how about patching Xorg to change the XkbRules default
to "base" instead of "xorg"?

As far as I can tell, this would be backwards compatbile with existing
distros because "xorg" is already a symlink to "base".

Patch here:

diff --git a/ b/
index 14c4ccb..1b3fb25 100644
--- a/
+++ b/
@@ -1853,7 +1853,7 @@ AM_CONDITIONAL(KDRIVEVESA, [test x"$ac_cv_header_sys_vm86_h" = xyes])
 AM_CONDITIONAL(KDRIVEFBDEV, [test x"$ac_cv_header_linux_fb_h" = xyes])
 dnl these only go in xkb-config.h (which is shared by the Xorg and Xnest servers)
-AC_DEFINE(__XKBDEFRULES__, "xorg", [Default XKB rules])
+AC_DEFINE(__XKBDEFRULES__, "base", [Default XKB rules])
 AC_DEFINE_DIR(XKB_BIN_DIRECTORY, bindir, [Path to XKB bin dir])

And there's a little bit of confusion with other defaults:

./xkb/xkbInit.c:#define XKB_DFLT_RULES_FILE     "rules"
./hw/xgl/glx/xglx.c:#define     XKB_DFLT_RULES_FILE     "xorg"

The first one is even wrong, and anyways these values are always
overridden by the (default) value of XkbRulesFile from
hw/xfree86/utils/xorgcfg/keyboard-cfg.c so I think they could be
safely removed.

> Regarding the xkb base - I will think of
> changing the default value, now that everyone expects it to be in
> share/X11/xkb. Could you please file a bug about it (against
> xkeyboard-config).

Done (with patch attached):

>> And it's a little weird that this module is still being maintained in CVS.
>> Could you move it to git, please?
> No, I think I will not - in foreseable future. I do not see any
> reason, any advantage - and I am too lazy to learn another VCS.

...and git isn't one of the simpler to learn, too!

> Could you give me any serious reason to do it - if all commits go through my
> hands anyway? BTW it was already discussed here - and I was told it
> was not a problem for xorg to keep xkeyboard-config in CVS.

CVS is surely good enough for xkeyboard-config's workload, but I think it
would be better to keep all projects hosted on freedesktop consistent with
each other to minimize the overhead on downstream distributors and new

If you prefer to keep using CVS, you could still setup a cron job to do
one-way syncing of your changes to a public git repository in the
xorg/app/ hierarchy.  Should be very easy to achieve with git-cvsimport.

   // Bernardo Innocenti - Develer R&D dept.

More information about the xorg mailing list