Index: [thread] [date] [subject] [author]
  From: Andrew Apted <ajapted@netspace.net.au>
  To  : ggi-develop@eskimo.com
  Date: Sat, 24 Apr 1999 17:07:40 +1000

Re: LibGGI buglets

I wrote:

>  Secondly VT switching no longer works, the program gets killed with an
>  "Unused signal" message, but this time the keyboard ISN'T restored from
>  raw mode (needed ALT-SysRq-R to recover).

I've tracked this one down.  It happens because input/linux_kbd/input.c
calls ggRegisterCleanup(), which calls register_sighandler(), which
calls signal() on the SWITCHSIG setup by display/linvtswitch/visual.c,
and this causes the behaviour to become SA_RESETHAND, thus linvtswitch's
signal handler is set to SIG_DFL after the VT_PROCESS release signal
comes in, thus causing the acquire signal to kill the program.

AAAAAAARRRRRRRRRGGGGGGGHHHHHHHHH  !

The solution is not to use signal() but always use sigaction().  Marcus,
could you please fix that ?  Thanks heaps !

Cheers,
___________________________________________________
                                               \  /
  Andrew Apted   <ajapted@netspace.net.au>      \/
 

Index: [thread] [date] [subject] [author]