[rkward-cvs] SF.net SVN: rkward-code:[4641] trunk/rkward/rkward/rbackend/rkrbackend.cpp

tfry at users.sf.net tfry at users.sf.net
Fri Mar 29 12:19:49 UTC 2013


Revision: 4641
          http://sourceforge.net/p/rkward/code/4641
Author:   tfry
Date:     2013-03-29 12:19:48 +0000 (Fri, 29 Mar 2013)
Log Message:
-----------
Make valgrind happy by fixing a startup race condition

Modified Paths:
--------------
    trunk/rkward/rkward/rbackend/rkrbackend.cpp

Modified: trunk/rkward/rkward/rbackend/rkrbackend.cpp
===================================================================
--- trunk/rkward/rkward/rbackend/rkrbackend.cpp	2013-03-29 12:15:49 UTC (rev 4640)
+++ trunk/rkward/rkward/rbackend/rkrbackend.cpp	2013-03-29 12:19:48 UTC (rev 4641)
@@ -434,6 +434,10 @@
 	} else {
 		stdout_stderr_mutex.lock ();
 	}
+	if (stdout_stderr_fd < 0) {
+		stdout_stderr_mutex.unlock ();
+		return false;
+	}
 
 	// it seems, setting this only once is not always enough.
 	fcntl (stdout_stderr_fd, F_SETFL, fcntl (stdout_stderr_fd, F_GETFL, 0) | O_NONBLOCK);
@@ -748,6 +752,7 @@
 	r_running = false;
 
 	current_command = 0;
+	stdout_stderr_fd = -1;
 
 	RK_ASSERT (this_pointer == 0);
 	this_pointer = this;





More information about the rkward-tracker mailing list