[Author Prev][Author Next][Thread Prev][Thread Next][Author Index][Thread Index]
[or-cvs] More work on task #43: fix race conditions on multithreaded...
- To: or-cvs@xxxxxxxxxxxxx
- Subject: [or-cvs] More work on task #43: fix race conditions on multithreaded...
- From: nickm@xxxxxxxx (Nick Mathewson)
- Date: Mon, 3 Jan 2005 14:07:27 -0500 (EST)
- Delivered-to: archiver@seul.org
- Delivered-to: or-cvs-outgoing@seul.org
- Delivered-to: or-cvs@seul.org
- Delivery-date: Mon, 03 Jan 2005 14:08:07 -0500
- Reply-to: or-dev@xxxxxxxxxxxxx
- Sender: owner-or-cvs@xxxxxxxxxxxxx
Update of /home/or/cvsroot/tor/src/common
In directory moria.mit.edu:/tmp/cvs-serv25412/common
Modified Files:
compat.c
Log Message:
More work on task #43: fix race conditions on multithreaded (win32) servers.
Index: compat.c
===================================================================
RCS file: /home/or/cvsroot/tor/src/common/compat.c,v
retrieving revision 1.25
retrieving revision 1.26
diff -u -d -r1.25 -r1.26
--- compat.c 22 Dec 2004 05:28:15 -0000 1.25
+++ compat.c 3 Jan 2005 19:07:24 -0000 1.26
@@ -331,6 +331,7 @@
}
fd[0] = connector;
fd[1] = acceptor;
+
return 0;
abort_tidy_up_and_fail:
@@ -557,6 +558,11 @@
/** Minimalist interface to run a void function in the background. On
* unix calls fork, on win32 calls beginthread. Returns -1 on failure.
* func should not return, but rather should call spawn_exit.
+ *
+ * NOTE: if <b>data</b> is used, it should not be allocated on the stack,
+ * since in a multithreaded environment, there is no way to be sure that
+ * the caller's stack will still be around when the called function is
+ * running.
*/
int
spawn_func(int (*func)(void *), void *data)