Commit Diff


commit - c57b71966ec2b3342a3a4da515944cabf268609f
commit + 9dab36f2af60901565b97c8ca0ece46f70fa3ead
blob - db4a3b1e03845d4a3f2960f86888a3b8ed60a58f
blob + 8e26439e734843e41d919c045f861d344a2d9b50
--- src/cmd/auth/factotum/dat.h
+++ src/cmd/auth/factotum/dat.h
@@ -111,6 +111,7 @@ extern char	*owner;		/* main.c */
 extern Proto	*prototab[];	/* main.c */
 extern Ring	ring;			/* key.c */
 extern char	*rpcname[];	/* rpc.c */
+extern int		*loginuse;	/* fs.c */
 
 extern char	Easproto[];	/* err.c */
 
blob - 811bd5b045dfa9a05d2434876d583a0c42e71ad7
blob + 1a3f5548d1ef2b74ef9691ed05e547683875b325
--- src/cmd/auth/factotum/fs.c
+++ src/cmd/auth/factotum/fs.c
@@ -260,6 +260,7 @@ fskickreply(Conv *c)
 static int inuse[nelem(dirtab)];
 int *confirminuse = &inuse[0];
 int *needkeyinuse = &inuse[1];
+int *loginuse = &inuse[5];
 static void
 fsopen(Req *r)
 {
blob - e644028ad395c0b7df1136aa1702fb1302972606
blob + 8c8408f205594647474d30f6ab45cf5aa854e1fd
--- src/cmd/auth/factotum/log.c
+++ src/cmd/auth/factotum/log.c
@@ -107,6 +107,7 @@ void
 logflush(Req *r)
 {
 	lbflush(&logbuf, r);
+	*loginuse = 0;
 }
 
 void