NAME¶
vga_safety_fork - start a parallel process to restore the console at a crash
SYNOPSIS¶
#include <vga.h>
 
void vga_safety_fork(void (*shutdown_routine)(void))
 
DESCRIPTION¶
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!
SEE ALSO¶
svgalib(7), 
vgagl(7), 
libvga.config(5), 
forktest(6),
  
vga_init(3),
 
AUTHOR¶
This manual page was edited by Michael Weller
  <eowmob@exp-math.uni-essen.de>. 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 <H.Hanemaayer@inter.nl.net>.
 
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 manual.