package GlobalInitializer;
#$Id: GlobalInitializer.pm,v 1.5 2000/10/04 16:55:13 tom Exp $
################################################################
#
# グローバル変数の初期化を行う
# mod_perl 用
#
################################################################

use strict;
use Exporter;
use vars qw(@ISA @EXPORT);

@ISA = qw(Exporter);
@EXPORT = qw(RegisterCleanup CleanupGlobals);

my @cleanup_routines = ();

################################################################
# 各クラスのグローバル変数を初期化するサブルーチンのリファレンスを渡す
sub RegisterCleanup
{
#    print $_ = caller;
#    print ": ";
#    print times;
#    print "\n";
    for (@_){
#	print "regist $_\n";
	push(@cleanup_routines, $_);
    }
}

####
# 登録された初期化関数群を呼び出す
sub CleanupGlobals
{
#    print "clean:", caller, "\n";
    for (@cleanup_routines){
	&$_();
    }
}
1;
