ref: 545506fbfe7f6558a29e0182a9ac7771a13f17ff
parent: bcb03bc63f07f6d06269113d7f1435d92ba09801
author: cinap_lenrek <cinap_lenrek@centraldogma>
date: Tue Sep 27 07:44:21 EDT 2011
factotum: fix flush handling for /mnt/factotum/needkey use
--- a/sys/src/cmd/auth/factotum/confirm.c
+++ b/sys/src/cmd/auth/factotum/confirm.c
@@ -21,8 +21,9 @@
*l = r->aux;
if(r->aux == nil)
cuselast = l;
- closereq(r);
- break;
+ r->aux = nil;
+ respond(r, "interrupted");
+ return;
}
}
logbufflush(&confbuf, r);
@@ -81,6 +82,7 @@
*l = r->aux;
if(r->aux == nil)
cuselast = l;
+ r->aux = nil;
break;
}
}
@@ -143,8 +145,9 @@
*l = r->aux;
if(r->aux == nil)
needlast = l;
- closereq(r);
- break;
+ r->aux = nil;
+ respond(r, "interrupted");
+ return;
}
}
logbufflush(&needkeybuf, r);
@@ -175,6 +178,7 @@
*l = r->aux;
if(r->aux == nil)
needlast = l;
+ r->aux = nil;
break;
}
}
--- a/sys/src/cmd/auth/factotum/log.c
+++ b/sys/src/cmd/auth/factotum/log.c
@@ -59,9 +59,9 @@
for(l=&lb->wait; *l; l=&(*l)->aux){ if(*l == r){*l = r->aux;
- r->aux = nil;
if(*l == nil)
lb->waitlast = l;
+ r->aux = nil;
respond(r, "interrupted");
break;
}
--
⑨