|
13 | 13 | # pylint: disable=invalid-name |
14 | 14 | if __name__ == "__main__": |
15 | 15 | bootstrap.initialize_logging() |
| 16 | + loop = asyncio.get_event_loop() |
16 | 17 |
|
17 | 18 | if not bootstrap.check_environment(): |
18 | | - exit(1) |
| 19 | + sys.exit(1) |
19 | 20 |
|
20 | | - loop = asyncio.get_event_loop() |
| 21 | + # init executor pool |
21 | 22 | executor = ThreadPoolExecutor(thread_name_prefix="SyncWorker") |
22 | 23 | loop.set_default_executor(executor) |
23 | 24 |
|
|
27 | 28 |
|
28 | 29 | bootstrap.migrate_system_env(config) |
29 | 30 |
|
30 | | - _LOGGER.info("Run Hassio setup") |
| 31 | + _LOGGER.info("Setup HassIO") |
31 | 32 | loop.run_until_complete(hassio.setup()) |
32 | 33 |
|
33 | | - _LOGGER.info("Start Hassio") |
34 | 34 | loop.call_soon_threadsafe(loop.create_task, hassio.start()) |
35 | | - loop.call_soon_threadsafe(bootstrap.reg_signal, loop, hassio) |
36 | | - |
37 | | - _LOGGER.info("Run Hassio loop") |
38 | | - loop.run_forever() |
| 35 | + loop.call_soon_threadsafe(bootstrap.reg_signal, loop) |
39 | 36 |
|
40 | | - _LOGGER.info("Cleanup system") |
41 | | - executor.shutdown(wait=False) |
42 | | - loop.close() |
| 37 | + try: |
| 38 | + _LOGGER.info("Run HassIO") |
| 39 | + loop.run_forever() |
| 40 | + finally: |
| 41 | + _LOGGER.info("Stopping HassIO") |
| 42 | + loop.run_until_complete(hassio.stop()) |
| 43 | + executor.shutdown(wait=False) |
| 44 | + loop.close() |
43 | 45 |
|
44 | 46 | _LOGGER.info("Close Hassio") |
45 | | - sys.exit(hassio.exit_code) |
| 47 | + sys.exit(0) |
0 commit comments