multithreading for Poly/ML 5.1 is no longer supported;
authorwenzelm
Tue, 16 Sep 2008 18:01:24 +0200
changeset 28254 d67ba23e0277
parent 28253 04fc1ba19f93
child 28255 6faea8ad8559
multithreading for Poly/ML 5.1 is no longer supported;
NEWS
src/Pure/ML-Systems/multithreading_polyml.ML
src/Pure/ML-Systems/polyml-5.1.ML
--- a/NEWS	Tue Sep 16 17:28:37 2008 +0200
+++ b/NEWS	Tue Sep 16 18:01:24 2008 +0200
@@ -255,6 +255,9 @@
 
 *** System ***
 
+* Multithreading for Poly/ML 5.1 is no longer supported, only for
+Poly/ML 5.2 or later.
+
 * The Isabelle "emacs" tool provides a specific interface to invoke
 Proof General / Emacs, with more explicit failure if that is not
 installed (the old isabelle-interface script silently falls back on
--- a/src/Pure/ML-Systems/multithreading_polyml.ML	Tue Sep 16 17:28:37 2008 +0200
+++ b/src/Pure/ML-Systems/multithreading_polyml.ML	Tue Sep 16 18:01:24 2008 +0200
@@ -2,7 +2,7 @@
     ID:         $Id$
     Author:     Makarius
 
-Multithreading in Poly/ML 5.1, 5.2 (cf. polyml/basis/Thread.sml).
+Multithreading in Poly/ML 5.2 or later (cf. polyml/basis/Thread.sml).
 *)
 
 signature MULTITHREADING_POLYML =
@@ -115,7 +115,7 @@
 
 (* system shell processes, with propagation of interrupts *)
 
-fun system_out_threaded script = uninterruptible (fn restore_attributes => fn () =>
+fun system_out script = uninterruptible (fn restore_attributes => fn () =>
   let
     val script_name = OS.FileSys.tmpName ();
     val _ = write_file script_name script;
@@ -176,10 +176,6 @@
     val rc = (case ! result of Signal => raise Interrupt | Result rc => rc);
   in (output, rc) end) ();
 
-val system_out =
-  if ml_system = "polyml-5.1" then system_out  (*signals not propagated from root thread!*)
-  else system_out_threaded;
-
 
 (* critical section -- may be nested within the same thread *)
 
--- a/src/Pure/ML-Systems/polyml-5.1.ML	Tue Sep 16 17:28:37 2008 +0200
+++ b/src/Pure/ML-Systems/polyml-5.1.ML	Tue Sep 16 18:01:24 2008 +0200
@@ -6,7 +6,6 @@
 
 open Thread;
 use "ML-Systems/polyml_common.ML";
-use "ML-Systems/multithreading_polyml.ML";
 use "ML-Systems/polyml_old_compiler5.ML";
 
 val pointer_eq = PolyML.pointerEq;