9ns: Add fs_files and tree_files
[akaros.git] / kern / src / arsc.c
index 85ea128..c25db79 100644 (file)
@@ -35,7 +35,7 @@ syscall_sring_t* sys_init_arsc(struct proc *p)
        void * va;
        // TODO: need to pin this page in the future when swapping happens
        va = do_mmap(p,MMAP_LOWEST_VA, SYSCALLRINGSIZE, PROT_READ | PROT_WRITE,
-                    MAP_ANONYMOUS | MAP_POPULATE, NULL, 0);
+                    MAP_ANONYMOUS | MAP_POPULATE | MAP_PRIVATE, NULL, 0);
        pte_t pte = pgdir_walk(p->env_pgdir, (void*)va, 0);
        assert(pte_walk_okay(pte));
        sring = (syscall_sring_t*) KADDR(pte_get_paddr(pte));
@@ -67,7 +67,7 @@ void arsc_server(uint32_t srcid, long a0, long a1, long a2)
                        /* Probably want to try to process a dying process's syscalls.  If
                         * not, just move it to an else case */
                        process_generic_syscalls (p, MAX_ASRC_BATCH);
-                       if (p->state == PROC_DYING) {
+                       if (proc_is_dying(p)) {
                                TAILQ_REMOVE(&arsc_proc_list, p, proc_arsc_link);
                                proc_decref(p);
                                /* Need to break out, so the TAILQ_FOREACH doesn't flip out.