Hack for mon_bin_run()
[akaros.git] / kern / src / monitor.c
index 01b7c99..a836abc 100644 (file)
@@ -305,7 +305,12 @@ int mon_bin_run(int argc, char **argv, struct hw_trapframe *hw_tf)
                p_argv[i] = argv[i + 1];
        p_argv[argc - 1] = 0;
        char *p_envp[] = {"LD_LIBRARY_PATH=/lib", 0};
+       /* super ugly: we need to stash current, so that proc_create doesn't pick up
+        * on random processes running here and assuming they are the parent */
+       struct proc *old_cur = current;
+       current = 0;
        struct proc *p = proc_create(program, p_argv, p_envp);
+       current = old_cur;
        kfree(p_argv);
        proc_wakeup(p);
        proc_decref(p); /* let go of the reference created in proc_create() */