summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--sys/src/9/port/devproc.c2
-rw-r--r--sys/src/9/port/fault.c2
2 files changed, 3 insertions, 1 deletions
diff --git a/sys/src/9/port/devproc.c b/sys/src/9/port/devproc.c
index f55b9bb89..b6b51959c 100644
--- a/sys/src/9/port/devproc.c
+++ b/sys/src/9/port/devproc.c
@@ -921,7 +921,7 @@ procread(Chan *c, void *va, long n, vlong off)
continue;
j += sprint(statbuf+j, "%-6s %c%c %8p %8p %4ld\n",
sname[sg->type&SG_TYPE],
- sg->type&SG_RONLY ? 'R' : ' ',
+ sg->type&SG_FAULT ? 'F' : (sg->type&SG_RONLY ? 'R' : ' '),
sg->profile ? 'P' : ' ',
sg->base, sg->top, sg->ref);
}
diff --git a/sys/src/9/port/fault.c b/sys/src/9/port/fault.c
index da343e079..a5e80336c 100644
--- a/sys/src/9/port/fault.c
+++ b/sys/src/9/port/fault.c
@@ -40,6 +40,8 @@ fault(uintptr addr, int read)
if((attr & SG_FAULT) != 0 || !read && (attr & SG_RONLY) != 0) {
qunlock(s);
up->psstate = sps;
+ if(up->kp && up->nerrlab) /* for segio */
+ error(Eio);
return -1;
}