sks-devel
[Top][All Lists]
Advanced

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

Re: [Sks-devel] On-demand SKS Statistics Generation?


From: Peter Pramberger
Subject: Re: [Sks-devel] On-demand SKS Statistics Generation?
Date: Fri, 03 Jul 2009 00:05:18 +0200
User-agent: Mozilla/5.0 (Windows; U; Windows NT 5.1; de-AT; rv:1.8.1.21) Gecko/20090403 SeaMonkey/1.1.16

Peter Pramberger schrieb am 02.07.2009 19:48:
> We shouldn't mix this expensive operation with the database sync, but -USR2 is
> still available for use; patch attached (applies to HEAD).
> 
> However the assignment of the signal handler still gives an error, can someone
> with more OCaml insight help?

Fixed version, however this still calculates the stats inside the signal
handler. I tried to use Eventloop.Event() to trigger the calculation, but no
success:

  let calc_stats_on_sig () =
    let now = Unix.gettimeofday () in
    ignore (Eventloop.Event (now, Eventloop.Callback calculate_stats_page))

Any ideas?


Br,
Peter


diff -up sks-1.1.0/common.ml.orig sks-1.1.0/common.ml
--- sks-1.1.0/common.ml.orig    2009-07-02 16:48:40.000000000 +0200
+++ sks-1.1.0/common.ml 2009-07-02 16:53:43.000000000 +0200
@@ -131,7 +131,6 @@
 let () = Sys.set_signal Sys.sigterm (Sys.Signal_handle handle_interrupt)
 let () = Sys.set_signal Sys.sigint (Sys.Signal_handle handle_interrupt)
 let () = Sys.set_signal Sys.sigpipe Sys.Signal_ignore
-let () = Sys.set_signal Sys.sigusr2 Sys.Signal_ignore
 let () = Sys.set_signal Sys.sighup 
           (Sys.Signal_handle (fun _ -> reopen_logfile ()))
 
diff -up sks-1.1.0/dbserver.ml.orig sks-1.1.0/dbserver.ml
--- sks-1.1.0/dbserver.ml.orig  2009-07-02 16:48:40.000000000 +0200
+++ sks-1.1.0/dbserver.ml       2009-07-02 21:55:23.000000000 +0200
@@ -622,9 +622,15 @@
     sync ();
     checkpoint ()
 
+  let calc_stats_on_sig () =
+    ignore (calculate_stats_page ())
+
   let () = Sys.set_signal Sys.sigusr1
          (Sys.Signal_handle (fun _ -> sync_db_on_sig ()))
 
+  let () = Sys.set_signal Sys.sigusr2
+         (Sys.Signal_handle (fun _ -> calc_stats_on_sig ()))
+
   (***********************************************************************)
 
   let run () = 
diff -up sks-1.1.0/reconserver.ml.orig sks-1.1.0/reconserver.ml
--- sks-1.1.0/reconserver.ml.orig       2009-07-02 16:48:40.000000000 +0200
+++ sks-1.1.0/reconserver.ml    2009-07-02 16:52:47.000000000 +0200
@@ -313,6 +313,7 @@
   (***************************************************************)
 
   let () = Sys.set_signal Sys.sigusr1 Sys.Signal_ignore
+  let () = Sys.set_signal Sys.sigusr2 Sys.Signal_ignore
 
   (***********************************************************************)
 

reply via email to

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