Module Name: src
Committed By: pooka
Date: Wed Nov 24 17:03:39 UTC 2010
Modified Files:
src/lib/librumpclient: rumpclient.c
Log Message:
update locking proto, use unputwait
To generate a diff of this commit:
cvs rdiff -u -r1.3 -r1.4 src/lib/librumpclient/rumpclient.c
Please note that diffs are not public domain; they are subject to the
copyright notices on the relevant files.
Modified files:
Index: src/lib/librumpclient/rumpclient.c
diff -u src/lib/librumpclient/rumpclient.c:1.3 src/lib/librumpclient/rumpclient.c:1.4
--- src/lib/librumpclient/rumpclient.c:1.3 Fri Nov 19 15:25:49 2010
+++ src/lib/librumpclient/rumpclient.c Wed Nov 24 17:03:39 2010
@@ -1,4 +1,4 @@
-/* $NetBSD: rumpclient.c,v 1.3 2010/11/19 15:25:49 pooka Exp $ */
+/* $NetBSD: rumpclient.c,v 1.4 2010/11/24 17:03:39 pooka Exp $ */
/*
* Copyright (c) 2010 Antti Kantee. All Rights Reserved.
@@ -71,13 +71,12 @@
rhdr.rsp_sysnum = sysnum;
putwait(spc, &rw, &rhdr);
-
- sendlock(spc);
rv = dosend(spc, &rhdr, sizeof(rhdr));
rv = dosend(spc, data, dlen);
- sendunlock(spc);
- if (rv)
- return rv; /* XXX: unputwait */
+ if (rv) {
+ unputwait(spc, &rw);
+ return rv;
+ }
rv = waitresp(spc, &rw);
*resp = rw.rw_data;
@@ -224,6 +223,7 @@
errno = error;
return -1;
}
+
if ((error = parsetab[idx].connhook(s)) != 0) {
error = errno;
fprintf(stderr, "rump_sp: connect hook failed\n");