# HG changeset patch # User Richard Jones # Date 1265086842 0 # Node ID 85b00a3820b3798a6a71581e43c18851660cbd18 # Parent 7a0fe3cff4de5a8fcf2e2fa01a8d48084f21432e Fix thread safety with stdin in roundup-server diff -r 7a0fe3cff4de -r 85b00a3820b3 CHANGES.txt --- a/CHANGES.txt Tue Feb 02 04:59:20 2010 +0000 +++ b/CHANGES.txt Tue Feb 02 05:00:42 2010 +0000 @@ -29,6 +29,8 @@ issue2550632 - Allow value to be specified to multilink form element templating, fixes issue2550613, thanks David Wolever +- Fix thread safety with stdin in roundup-server, fixes issue2550596 + (thanks Werner Hunger) 2009-12-21 1.4.11 (r4413) diff -r 7a0fe3cff4de -r 85b00a3820b3 doc/acknowledgements.txt --- a/doc/acknowledgements.txt Tue Feb 02 04:59:20 2010 +0000 +++ b/doc/acknowledgements.txt Tue Feb 02 05:00:42 2010 +0000 @@ -58,6 +58,7 @@ Uwe Hoffmann, Alex Holkner, Tobias Hunger, +Werner Hunger, Simon Hyde, Paul Jimenez, Christophe Kalt, diff -r 7a0fe3cff4de -r 85b00a3820b3 roundup/cgi/client.py --- a/roundup/cgi/client.py Tue Feb 02 04:59:20 2010 +0000 +++ b/roundup/cgi/client.py Tue Feb 02 05:00:42 2010 +0000 @@ -300,7 +300,7 @@ # see if we need to re-parse the environment for the form (eg Zope) if form is None: - self.form = cgi.FieldStorage(environ=env) + self.form = cgi.FieldStorage(fp=request.rfile, environ=env) else: self.form = form diff -r 7a0fe3cff4de -r 85b00a3820b3 roundup/scripts/roundup_server.py --- a/roundup/scripts/roundup_server.py Tue Feb 02 04:59:20 2010 +0000 +++ b/roundup/scripts/roundup_server.py Tue Feb 02 05:00:42 2010 +0000 @@ -188,8 +188,6 @@ """ Execute the CGI command. Wrap an innner call in an error handler so all errors can be caught. """ - save_stdin = sys.stdin - sys.stdin = self.rfile try: self.inner_run_cgi() except client.NotFound: @@ -226,7 +224,6 @@ # out to the logfile print 'EXCEPTION AT', ts traceback.print_exc() - sys.stdin = save_stdin do_GET = do_POST = do_HEAD = run_cgi