# HG changeset patch # User wenzelm # Date 1220898938 -7200 # Node ID a18cf8a0e65656a36370a82c1f89143473f8f37a # Parent 356fc873474136bbb116522d8d77765c25dec6ef tuned Mailbox.send; diff -r 356fc8734741 -r a18cf8a0e656 src/Pure/Concurrent/future.ML --- a/src/Pure/Concurrent/future.ML Mon Sep 08 20:33:29 2008 +0200 +++ b/src/Pure/Concurrent/future.ML Mon Sep 08 20:35:38 2008 +0200 @@ -97,7 +97,7 @@ fun interrupt (Future {task, ...}) = interrupt_task_group task; -fun shutdown () = Mailbox.send Shutdown requests; +fun shutdown () = Mailbox.send requests Shutdown; (* execute *) @@ -112,7 +112,7 @@ val _ = set_task NONE; val _ = set_group NONE; val _ = SYNCHRONIZED (fn () => (change queue (TaskQueue.finished task); notify_all ())); - val _ = (case (ok, group) of (false, SOME g) => Mailbox.send (CancelGroup g) requests | _ => ()); + val _ = (case (ok, group) of (false, SOME g) => Mailbox.send requests (CancelGroup g) | _ => ()); in () end; diff -r 356fc8734741 -r a18cf8a0e656 src/Pure/Concurrent/mailbox.ML --- a/src/Pure/Concurrent/mailbox.ML Mon Sep 08 20:33:29 2008 +0200 +++ b/src/Pure/Concurrent/mailbox.ML Mon Sep 08 20:35:38 2008 +0200 @@ -9,7 +9,7 @@ sig type 'a T val create: unit -> 'a T - val send: 'a -> 'a T -> unit + val send: 'a T -> 'a -> unit val receive_timeout: Time.time -> 'a T -> 'a option val receive: 'a T -> 'a end; @@ -32,7 +32,7 @@ (* send -- non-blocking *) -fun send msg (Mailbox {lock, cond, messages}) = uninterruptible (fn _ => fn () => +fun send (Mailbox {lock, cond, messages}) msg = uninterruptible (fn _ => fn () => let val _ = Mutex.lock lock; val _ = change messages (Queue.enqueue msg);