Using exit() can mess up graphical output and cause a hang when unexpected Xlib async replies occur during the exit() process.