bug-hurd
[Top][All Lists]
Advanced

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

Re: console status


From: Marcus Brinkmann
Subject: Re: console status
Date: Mon, 9 Sep 2002 12:34:08 +0200
User-agent: Mutt/1.4i

On Mon, Sep 09, 2002 at 11:35:39AM +0200, Niels Möller wrote:
> Marcus Brinkmann <Marcus.Brinkmann@ruhr-uni-bochum.de> writes:
> 
> > If you terminate it, the original font, colors and screen content will NOT
> > be restored.  Your VGA card is now pretty much messed up, congratulations ;)
> > The code to restore everything is mostly there, it's just that the input
> > driver doesn't invoke it before exiting.  This will need a better framework.
> 
> The simplest framework, I guess, is to have each plugin have an init
> and an exit hook. The vga plugin's exit hook should clean up the
> hardware it has messed with. Exithooks are then called whenever a
> plugin is unloaded, and exiting the console should first unload all
> plugins.
> 
> One could do that manually in the plugin load/unload code, but perhaps
> it's also possible to let the dlopen/ld.so handle it?

If you would take a look at the code (ahem ;) you would see that this is
already there.  You can have _init, but I call the initializer explicitely
to be able to catch errors and report them back to the user, and to pass
arguments.

The framework I was mumbling about is the code for the input source drivers
to call back into when a termination request comes in from the user.  There
are a couple of such callbacks, and some are already there now, some will
come later.

The exit code is now there and works, but not all state is restored yet.

Another issue is catching SIGTERM and other fatal signals, as far as
possible.

Thanks,
Marcus

-- 
`Rhubarb is no Egyptian god.' GNU      http://www.gnu.org    marcus@gnu.org
Marcus Brinkmann              The Hurd http://www.gnu.org/software/hurd/
Marcus.Brinkmann@ruhr-uni-bochum.de
http://www.marcus-brinkmann.de/




reply via email to

[Prev in Thread] Current Thread [Next in Thread]