diff options
| -rw-r--r-- | bitbake/lib/bb/server/process.py | 31 |
1 files changed, 18 insertions, 13 deletions
diff --git a/bitbake/lib/bb/server/process.py b/bitbake/lib/bb/server/process.py index e4b9d96234..aefabbed01 100644 --- a/bitbake/lib/bb/server/process.py +++ b/bitbake/lib/bb/server/process.py | |||
| @@ -133,19 +133,6 @@ class ProcessServer(multiprocessing.Process): | |||
| 133 | if self.xmlrpc: | 133 | if self.xmlrpc: |
| 134 | fds.append(self.xmlrpc) | 134 | fds.append(self.xmlrpc) |
| 135 | while not self.quit: | 135 | while not self.quit: |
| 136 | if self.command_channel in ready: | ||
| 137 | command = self.command_channel.get() | ||
| 138 | if command[0] == "terminateServer": | ||
| 139 | self.quit = True | ||
| 140 | continue | ||
| 141 | try: | ||
| 142 | print("Running command %s" % command) | ||
| 143 | self.command_channel_reply.send(self.cooker.command.runCommand(command)) | ||
| 144 | except Exception as e: | ||
| 145 | logger.exception('Exception in server main event loop running command %s (%s)' % (command, str(e))) | ||
| 146 | |||
| 147 | if self.xmlrpc in ready: | ||
| 148 | self.xmlrpc.handle_requests() | ||
| 149 | if self.sock in ready: | 136 | if self.sock in ready: |
| 150 | self.controllersock, address = self.sock.accept() | 137 | self.controllersock, address = self.sock.accept() |
| 151 | if self.haveui: | 138 | if self.haveui: |
| @@ -194,6 +181,24 @@ class ProcessServer(multiprocessing.Process): | |||
| 194 | print("Server timeout, exiting.") | 181 | print("Server timeout, exiting.") |
| 195 | self.quit = True | 182 | self.quit = True |
| 196 | 183 | ||
| 184 | if self.command_channel in ready: | ||
| 185 | try: | ||
| 186 | command = self.command_channel.get() | ||
| 187 | except EOFError: | ||
| 188 | # Client connection shutting down | ||
| 189 | continue | ||
| 190 | if command[0] == "terminateServer": | ||
| 191 | self.quit = True | ||
| 192 | continue | ||
| 193 | try: | ||
| 194 | print("Running command %s" % command) | ||
| 195 | self.command_channel_reply.send(self.cooker.command.runCommand(command)) | ||
| 196 | except Exception as e: | ||
| 197 | logger.exception('Exception in server main event loop running command %s (%s)' % (command, str(e))) | ||
| 198 | |||
| 199 | if self.xmlrpc in ready: | ||
| 200 | self.xmlrpc.handle_requests() | ||
| 201 | |||
| 197 | ready = self.idle_commands(.1, fds) | 202 | ready = self.idle_commands(.1, fds) |
| 198 | 203 | ||
| 199 | print("Exiting") | 204 | print("Exiting") |
