--- xdm-1.1.6/session.c.orig 2008-02-28 14:52:02.000000000 +0000 +++ xdm-1.1.6/session.c 2008-02-28 14:51:55.000000000 +0000 @@ -905,6 +905,10 @@ runAndWait (char **args, char **environ) switch (pid = fork ()) { case 0: CleanUpChild (); +#ifdef XDMCP + /* The chooser socket is not closed by CleanUpChild() */ + DestroyWellKnownSockets(); +#endif execute (args, environ); LogError ("can't execute \"%s\" (err %d)\n", args[0], errno); exit (1);