summaryrefslogtreecommitdiff
path: root/libfshelp/set-active.c
diff options
context:
space:
mode:
Diffstat (limited to 'libfshelp/set-active.c')
-rw-r--r--libfshelp/set-active.c31
1 files changed, 1 insertions, 30 deletions
diff --git a/libfshelp/set-active.c b/libfshelp/set-active.c
index 5cf3ec38..b2f49cf4 100644
--- a/libfshelp/set-active.c
+++ b/libfshelp/set-active.c
@@ -24,40 +24,11 @@
error_t
fshelp_set_active (struct transbox *box,
mach_port_t active,
- int excl, int goaway, int flags)
+ int excl)
{
- error_t error;
-
- start_over:
if (excl && box->active != MACH_PORT_NULL)
return EBUSY;
- if (goaway && box->active != MACH_PORT_NULL)
- {
- fsys_t control;
-
- error = fshelp_fetch_control (box, &control);
- if (error)
- return error;
-
- mutex_unlock (box->lock);
- error = fsys_goaway (control, flags);
- mutex_lock (box->lock);
- if (error)
- {
- mach_port_deallocate (mach_task_self (), control);
- return error;
- }
-
- /* If it changed while we were unlocked, better start over. */
- if (box->active != control)
- {
- mach_port_deallocate (mach_task_self (), control);
- goto start_over;
- }
- mach_port_deallocate (mach_task_self (), control);
- }
-
if (box->active != MACH_PORT_NULL)
mach_port_deallocate (mach_task_self (), box->active);