Skip site navigation (1)Skip section navigation (2)

FreeBSD Manual Pages

  
 
  

home | help
vga_safety_fork(3)	       Svgalib User Manual	      vga_safety_fork(3)

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  con-
     tinue  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-es-
     sen.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 orig-
     inal  author  and	will happily accept any additions or corrections to this
     first version of the svgalib manual.

Svgalib (>= 1.2.11)		  27 July 1997		      vga_safety_fork(3)

Want to link to this manual page? Use this URL:
<https://man.freebsd.org/cgi/man.cgi?query=vga_safety_fork&sektion=3&manpath=FreeBSD+Ports+15.1.quarterly>

home | help