summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--CHANGES1
-rw-r--r--emu/port/devip.c3
2 files changed, 4 insertions, 0 deletions
diff --git a/CHANGES b/CHANGES
index c7289d3b..86b0ac8c 100644
--- a/CHANGES
+++ b/CHANGES
@@ -1,5 +1,6 @@
20070217
repair /appl/lib/libc.b and /appl/lib/libc0.b strncmp implementations (used only by c2l output) [inferno-os issue 9]
+ /emu/port/devip.c, get socket fd on reopen of ctl
20070216
add /module/lists.m, /appl/lib/lists.b, and lists(2)
20070209
diff --git a/emu/port/devip.c b/emu/port/devip.c
index 8572a184..45ea39fa 100644
--- a/emu/port/devip.c
+++ b/emu/port/devip.c
@@ -443,6 +443,8 @@ ipopen(Chan *c, int omode)
if(cv->inuse == 1) {
kstrdup(&cv->owner, up->env->user);
cv->perm = 0660;
+ if(cv->sfd < 0)
+ cv->sfd = so_socket(p->stype);
}
poperror();
qunlock(&cv->l);
@@ -510,6 +512,7 @@ closeconv(Conv *cv)
cv->perm = 0660;
/* cv->p->close(cv); */
cv->state = Idle;
+ cv->restricted = 0;
fd = cv->sfd;
cv->sfd = -1;
if(fd >= 0)