Run the server forever
(self)
| 166 | self.mutex = threading.Lock() |
| 167 | |
| 168 | def serve_forever(self): |
| 169 | ''' |
| 170 | Run the server forever |
| 171 | ''' |
| 172 | self.stop_event = threading.Event() |
| 173 | process.current_process()._manager_server = self |
| 174 | try: |
| 175 | accepter = threading.Thread(target=self.accepter) |
| 176 | accepter.daemon = True |
| 177 | accepter.start() |
| 178 | try: |
| 179 | while not self.stop_event.is_set(): |
| 180 | self.stop_event.wait(1) |
| 181 | except (KeyboardInterrupt, SystemExit): |
| 182 | pass |
| 183 | finally: |
| 184 | if sys.stdout != sys.__stdout__: # what about stderr? |
| 185 | util.debug('resetting stdout, stderr') |
| 186 | sys.stdout = sys.__stdout__ |
| 187 | sys.stderr = sys.__stderr__ |
| 188 | sys.exit(0) |
| 189 | |
| 190 | def accepter(self): |
| 191 | while True: |