From fee78d296c66e0b10600c7fefbbe07f33406fe97 Mon Sep 17 00:00:00 2001 From: Tim Chevalier Date: Thu, 21 Jun 2012 21:30:16 -0700 Subject: Port resources to classes in libcore --- src/libcore/task.rs | 7 +++++-- 1 file changed, 5 insertions(+), 2 deletions(-) (limited to 'src/libcore/task.rs') diff --git a/src/libcore/task.rs b/src/libcore/task.rs index ab9b4f7d3d7..2a746d76127 100644 --- a/src/libcore/task.rs +++ b/src/libcore/task.rs @@ -482,9 +482,12 @@ Temporarily make the task unkillable "] unsafe fn unkillable(f: fn()) { - resource allow_failure(_i: ()) { - rustrt::rust_task_allow_kill(); + class allow_failure { + let i: (); // since a class must have at least one field + new(_i: ()) { self.i = (); } + drop { rustrt::rust_task_allow_kill(); } } + let _allow_failure = allow_failure(()); rustrt::rust_task_inhibit_kill(); f(); -- cgit 1.4.1-3-g733a5