Thanks. I find the solution. Recompiling the Xorg with option ./configure --prefix=/usr --sysconfdir=/etc --libexecdir=/usr/lib --localstatedir=/var --infodir=/usr/share/info --mandir=/usr/share/man --with-fontdir=/usr/share/fonts/X11/ --enable-xselinux, then copy hw/xfree86/Xorg to /usr/bin/Xorg. Hack the source code and trace the problem. The bug is FreeFeedbackClass(PtrFeedbackClass, (pointer)&classes->ptrfeed) in FreeAllDeviceClasses free the same address twice. Then I allocate a new PtrFeedbackClassRec, assign to PtrFeedbackPtr in my xinput driver. Compare the evtouch source, and read the xorg-server source, I found this solution and work perfectly. I learn writing input driver from http://www.x.org/wiki/Development/Documentation/XorgInputHOWTO, it also have the shut down problem. After I apply this patch, Window Manager can be shut down normally now.
2012/4/20, Michal Suchanek <hramr...@gmail.com>: > On 19 April 2012 04:50, c-aries <babyari...@gmail.com> wrote: >> Hi all. I write a x input driver. When the driver read from normal >> device it works nice. After I change it to read from fifo, the driver >> works nice also before I turn off the Window Manager. After Xorg >> process exit, devices are all disabled, the screen won't change to >> tty, keyboard don't work also. >> I use another computer to ssh and gdb. Find that the Xorg exit >> normally, and the linux kernel still work. > > Hello, > > I guess this is caused by X server not restoring the terminal to > working state after it exits. > > Try to use the sysrq to unraw terminal and switch to another vt. > > Alternatively to run a X server in standard configuration remotely. > > HTH > > Michal > -- Free software is a matter of the users' freedom to run, copy, distribute, study, change and improve the software. = = I'm a GNU C Programmer, Happy Hacking! _______________________________________________ xorg-devel@lists.x.org: X.Org development Archives: http://lists.x.org/archives/xorg-devel Info: http://lists.x.org/mailman/listinfo/xorg-devel