<?xml version="1.0" encoding="UTF-8"?>
<commit>
  <added type="array">
    <added>
      <filename>test/carveh.sh</filename>
    </added>
    <added>
      <filename>test/horses.jpg</filename>
    </added>
    <added>
      <filename>test/river.jpg</filename>
    </added>
  </added>
  <modified type="array">
    <modified>
      <diff>@@ -9,3 +9,5 @@ build:
 .PHONY: clean
 clean:
 	ocamlbuild -clean
+	rm -vf test/*_add*.jpg
+	rm -vf test/*_del*.jpg</diff>
      <filename>Makefile</filename>
    </modified>
    <modified>
      <diff>@@ -74,11 +74,14 @@ end (* module Carver *)
 let create_worker_process node =
     let carver = Carver.create () in
     let mbox = Enode.create_mbox node in
+    let self = Enode.Mbox.pid mbox in
     let recvCB = fun msg -&gt; match msg with
     | Eterm.ET_tuple [|Eterm.ET_atom &quot;set_src_file&quot;; Eterm.ET_string fn;|] -&gt;
         Carver.set_src_file carver fn
     | Eterm.ET_tuple [|Eterm.ET_atom &quot;set_src_data&quot;; Eterm.ET_bin b;|] -&gt;
         Carver.set_src_data carver b
+    | Eterm.ET_tuple [|Eterm.ET_atom &quot;carve_h&quot;; Eterm.ET_int i; Eterm.ET_string dstfn;|] -&gt;
+        Carver.carve_h carver (Int32.to_int i) (Some dstfn)
     | Eterm.ET_tuple [|Eterm.ET_atom &quot;carve_h&quot;; Eterm.ET_int i;|] -&gt;
         Carver.carve_h carver (Int32.to_int i) None
     | Eterm.ET_tuple [|pid; Eterm.ET_atom &quot;get_dst_file&quot;;|] -&gt;
@@ -89,14 +92,15 @@ let create_worker_process node =
         | None -&gt;
             Enode.send node pid (Eterm.ET_atom &quot;no_file&quot;)
         end
+    | Eterm.ET_tuple [|pid; Eterm.ET_atom &quot;stop&quot;;|] -&gt;
+        Enode.send node pid (Eterm.ET_tuple [|self; Eterm.ET_atom &quot;stopped&quot;;|])
     | msg -&gt;
         (* skip unknown message *)
         Trace.dbg &quot;carve&quot; &quot;Worker skiping unknown message: %s\n&quot; (Eterm.to_string msg);
         ()
     in
     Enode.Mbox.create_activity mbox recvCB;
-    Enode.Mbox.pid mbox
-
+    self
 
 let create_main_process node name =
     let mbox = Enode.create_mbox node in</diff>
      <filename>carve.ml</filename>
    </modified>
  </modified>
  <removed type="array"/>
  <parents type="array">
    <parent>
      <id>2125715bcddfa2e7547ac54d60b84f0216c43b97</id>
    </parent>
  </parents>
  <author>
    <name>Ludovic Coquelle</name>
    <email>lcoquelle@gmail.com</email>
  </author>
  <url>http://github.com/khigia/eocarve/commit/c66066978c050b4679fe47114676b5374a522d6c</url>
  <id>c66066978c050b4679fe47114676b5374a522d6c</id>
  <committed-date>2008-05-09T20:02:08-07:00</committed-date>
  <authored-date>2008-05-09T20:02:08-07:00</authored-date>
  <message>Added an example (need to be run from main dir: sh test/carveh.sh ... producing files in test folder).</message>
  <tree>33dcfd680483b8c5fbca987fbacbc3ca11d542d4</tree>
  <committer>
    <name>Ludovic Coquelle</name>
    <email>lcoquelle@gmail.com</email>
  </committer>
</commit>
