X-Git-Url: https://git.p6c8.net/selfforum.git/blobdiff_plain/489e7846289d4fb66eb4b9fab0fed4af719b98ee..bca3eed65c50f585248ae3a1cc8bb6a74e4e8bb8:/selfforum-cgi/shared/Template/Forum.pm diff --git a/selfforum-cgi/shared/Template/Forum.pm b/selfforum-cgi/shared/Template/Forum.pm index 9140478..5183561 100644 --- a/selfforum-cgi/shared/Template/Forum.pm +++ b/selfforum-cgi/shared/Template/Forum.pm @@ -4,29 +4,42 @@ package Template::Forum; # # # File: shared/Template/Forum.pm # # # -# Authors: André Malo , 2001-04-19 # +# Authors: André Malo , 2001-06-16 # # # # Description: print Forum main file to STDOUT # # # ################################################################################ use strict; +use vars qw( + @EXPORT + $VERSION +); -use Lock qw(:READ); +use Lock; use Encode::Plain; $Encode::Plain::utf8 = 1; -use Posting::_lib qw(get_all_threads long_hr_time); +use Posting::_lib qw( + get_all_threads + long_hr_time +); use Template; use Template::_conf; use Template::_thread; +################################################################################ +# +# Version check +# +$VERSION = do { my @r =(q$Revision$ =~ /\d+/g); sprintf "%d."."%02d" x $#r, @r }; + ################################################################################ # # Export # use base qw(Exporter); -@Template::Forum::EXPORT = qw(print_forum_as_HTML); +@EXPORT = qw(print_forum_as_HTML); -### sub print_forum_as_HTML ($$$) ############################################## +### print_forum_as_HTML () ##################################################### # # print Forum main file to STDOUT # @@ -43,10 +56,10 @@ sub print_forum_as_HTML ($$$) { my $template = new Template $tempfile; my ($threads, $stat); + my $main = new Lock ($mainfile); - unless ($stat = lock_file ($mainfile)) { - if (defined $stat) { - violent_unlock_file ($mainfile); + unless ($main -> lock (LH_SHARED)) { + unless ($main -> masterlocked) { print ${$template -> scrap ( $assign -> {errorDoc}, { $assign -> {errorText} => $template -> insert ($assign -> {'occupied'}) } @@ -64,8 +77,12 @@ sub print_forum_as_HTML ($$$) { { adminDefault => $param -> {adminDefault} } ); - $threads = get_all_threads ($mainfile, $param -> {showDeleted}, $view -> {sortedMsg}); - violent_unlock_file ($mainfile) unless (unlock_file ($mainfile)); + # set process priority, remove if you don't need... + # + eval {setpriority 0,0,1}; + + $threads = get_all_threads ($main -> filename, $param -> {showDeleted}, $view -> {sortedMsg}); + $main -> unlock; print ${$template -> scrap ( $assign -> {mainDocStart}, @@ -95,9 +112,9 @@ sub print_forum_as_HTML ($$$) { return; } -# keep require happy +# keep 'require' happy 1; # # -### end of Template::Forum ##################################################### +### end of Template::Forum ##################################################### \ No newline at end of file