diff -r a0e8f2d882a3 Lib/test/test_wsgiref.py --- a/Lib/test/test_wsgiref.py Mon Jun 30 20:00:03 2014 -0400 +++ b/Lib/test/test_wsgiref.py Mon Jun 30 21:05:14 2014 -0600 @@ -627,6 +627,22 @@ h.run(error_app) self.assertEqual(side_effects['close_called'], True) + def testIteratorEmptyPreStart(self): + def app(e, s): + yield b'' + s("200 OK", [ + ("Content-Type", "text/plain; charset=utf-8"), + ]) + yield b'data' + + h = TestHandler() + h.run(app) + self.assertEqual(b"Status: 200 OK\r\n" + b"Content-Type: text/plain; charset=utf-8\r\n" + b"\r\n" + b"data", + h.stdout.getvalue()) + def test_main(): support.run_unittest(__name__) diff -r a0e8f2d882a3 Lib/wsgiref/handlers.py --- a/Lib/wsgiref/handlers.py Mon Jun 30 20:00:03 2014 -0400 +++ b/Lib/wsgiref/handlers.py Mon Jun 30 21:05:14 2014 -0600 @@ -177,7 +177,8 @@ try: if not self.result_is_file() or not self.sendfile(): for data in self.result: - self.write(data) + if len(data) > 0: + self.write(data) self.finish_content() finally: self.close()