GSP
Quick Navigator

Search Site

Unix VPS
A - Starter
B - Basic
C - Preferred
D - Commercial
MPS - Dedicated
Previous VPSs
* Sign Up! *

Support
Contact Us
Online Help
Handbooks
Domain Status
Man Pages

FAQ
Virtual Servers
Pricing
Billing
Technical

Network
Facilities
Connectivity
Topology Map

Miscellaneous
Server Agreement
Year 2038
Credits
 

USA Flag

 

 

Man Pages
vga_safety_fork(3) Svgalib User Manual vga_safety_fork(3)

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 <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.

27 July 1997 Svgalib (>= 1.2.11)

Search for    or go to Top of page |  Section 3 |  Main Index

Powered by GSP Visit the GSP FreeBSD Man Page Interface.
Output converted with ManDoc.