| Index: net/tools/testserver/testserver.py
|
| diff --git a/net/tools/testserver/testserver.py b/net/tools/testserver/testserver.py
|
| index e3e1176cc9a0e03b5c5dd3165df784bb4fcd2fa4..7ce812353981a5251b8c33a42b02c068f6b395ad 100755
|
| --- a/net/tools/testserver/testserver.py
|
| +++ b/net/tools/testserver/testserver.py
|
| @@ -49,6 +49,7 @@ SERVER_HTTP = 0
|
| SERVER_FTP = 1
|
| SERVER_SYNC = 2
|
|
|
| +# Using debug() seems to cause hangs on XP: see http://crbug.com/64515 .
|
| debug_output = sys.stderr
|
| def debug(str):
|
| debug_output.write(str + "\n")
|
| @@ -1326,15 +1327,19 @@ def main(options, args):
|
| 'port': listen_port
|
| }
|
| server_data_json = simplejson.dumps(server_data)
|
| + server_data_len = len(server_data_json)
|
| + print 'sending server_data: %s (%d bytes)' % (
|
| + server_data_json, server_data_len)
|
| if sys.platform == 'win32':
|
| fd = msvcrt.open_osfhandle(options.startup_pipe, 0)
|
| else:
|
| fd = options.startup_pipe
|
| startup_pipe = os.fdopen(fd, "w")
|
| - # Write the listening port as a 2 byte value. This is _not_ using
|
| - # network byte ordering since the other end of the pipe is on the same
|
| - # machine.
|
| - startup_pipe.write(struct.pack('@H', listen_port))
|
| + # First write the data length as an unsigned 4-byte value. This
|
| + # is _not_ using network byte ordering since the other end of the
|
| + # pipe is on the same machine.
|
| + startup_pipe.write(struct.pack('=L', server_data_len))
|
| + startup_pipe.write(server_data_json)
|
| startup_pipe.close()
|
|
|
| try:
|
|
|