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");

Reply via email to