diff options
Diffstat (limited to 'subcmds')
-rw-r--r-- | subcmds/status.py | 11 |
1 files changed, 9 insertions, 2 deletions
diff --git a/subcmds/status.py b/subcmds/status.py index 7187f4b1..69e2dbfc 100644 --- a/subcmds/status.py +++ b/subcmds/status.py | |||
@@ -111,14 +111,21 @@ the following meanings: | |||
111 | threads_and_output = [] | 111 | threads_and_output = [] |
112 | for project in all: | 112 | for project in all: |
113 | sem.acquire() | 113 | sem.acquire() |
114 | output = StringIO.StringIO() | 114 | |
115 | class BufList(StringIO.StringIO): | ||
116 | def dump(self, ostream): | ||
117 | for entry in self.buflist: | ||
118 | ostream.write(entry) | ||
119 | |||
120 | output = BufList() | ||
121 | |||
115 | t = _threading.Thread(target=self._StatusHelper, | 122 | t = _threading.Thread(target=self._StatusHelper, |
116 | args=(project, counter, sem, output)) | 123 | args=(project, counter, sem, output)) |
117 | threads_and_output.append((t, output)) | 124 | threads_and_output.append((t, output)) |
118 | t.start() | 125 | t.start() |
119 | for (t, output) in threads_and_output: | 126 | for (t, output) in threads_and_output: |
120 | t.join() | 127 | t.join() |
121 | sys.stdout.write(output.getvalue()) | 128 | output.dump(sys.stdout) |
122 | output.close() | 129 | output.close() |
123 | if len(all) == counter.next(): | 130 | if len(all) == counter.next(): |
124 | print 'nothing to commit (working directory clean)' | 131 | print 'nothing to commit (working directory clean)' |