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