]> matita.cs.unibo.it Git - helm.git/commitdiff
- added maps sync
authorStefano Zacchiroli <zack@upsilon.cc>
Thu, 26 Dec 2002 19:30:00 +0000 (19:30 +0000)
committerStefano Zacchiroli <zack@upsilon.cc>
Thu, 26 Dec 2002 19:30:00 +0000 (19:30 +0000)
helm/http_getter/http_getter.ml
helm/http_getter/http_getter_map.ml
helm/http_getter/http_getter_map.mli

index c46a793268911ea98ab702dc7dfb48ef159f3691..c5d4f169dc672af4a306b4d7d2b084992e92f8e2 100644 (file)
@@ -328,9 +328,7 @@ let callback (req: Http_types.request) outchan =
             return_html_msg "Register done" outchan
         | _ -> assert false)
     | "/update" ->
-        (xml_map#clear;
-        rdf_map#clear;
-        xsl_map#clear;
+        (xml_map#clear; rdf_map#clear; xsl_map#clear;
         let log =
           List.fold_left
             update_from_server
@@ -338,6 +336,7 @@ let callback (req: Http_types.request) outchan =
               (* reverse order: 1st server is the most important one *)
             (List.rev Http_getter_env.servers)
         in
+        xml_map#sync; rdf_map#sync; xsl_map#sync;
         return_html_msg log outchan)
     | "/getalluris" ->
         return_all_xml_uris
index 07c2c10b4a0db1c667bfa4eef2edabb985cd3ce3..7a5ed1a3bc93ca1490b607f7574bd65e78acffde 100644 (file)
@@ -66,6 +66,12 @@ class map dbname =
         Dbm.iter f db
       ))
 
+    method sync =
+      self#doWriter (lazy (
+        Dbm.close db;
+        db <- open_dbm ()
+      ))
+
     method clear =
       self#doWriter (lazy (
         Dbm.close db;
index d3402eea33c8346976b39cef717dbafd0867f738..3e0cd0878915e93d0643f3a22a95709f963a0db7 100644 (file)
@@ -34,5 +34,6 @@ class map:
       method remove: string -> unit
       method resolve: string -> string
       method iter: (string -> string -> unit) -> unit
+      method sync: unit
       method clear: unit
     end