Provided by: libsvga1-dev_1.4.3-31_amd64 bug


       vga_safety_fork - start a parallel process to restore the console at a crash


       #include <vga.h>

       void vga_safety_fork(void (*shutdown_routine)(void))


       Calling  this  at  the  start  of  a  program results in a better chance of textmode being
       restored in case of a crash.  However it has to raise the iopl level to 3 to work. This is
       a small security breach as it is inherited to any programs you fork of. However, some SVGA
       card drivers have to use iopl(3) anyway.  If you use it call that  function  as  the  very
       first  vga_ function. Call it right before vga_init (3).  Note that vga_safety_fork() will
       already enter a graphicsmode. (For font and grafix state saving).  Don't overestimate  the
       power  of  this  function.  Your  application  will  continue to run in background while a
       foreground application will restore a usable screen and graphics mode in case of a crash.

       The forktest(6) demo shows the principal operation.  (*shutdown_routine)() is called  when
       the  system  crashes.  However,  realize  that the call will take in a forked copy of your
       program, you'll not have access to any globals modified after the vga_safety_fork() call!


       svgalib(7), vgagl(7), libvga.config(5), forktest(6), vga_init(3),


       This manual page was edited by Michael Weller  <>.  The  exact
       source of the referenced function as well as of the original documentation is unknown.

       It  is  very  likely  that  both  are  at  least to some extent are due to Harm Hanemaayer

       Occasionally this might be wrong. I hereby asked to be excused by the original author  and
       will  happily  accept  any  additions  or corrections to this first version of the svgalib