| #!/usr/bin/env python |
| # Copyright 2018 Gentoo Authors |
| # Distributed under the terms of the GNU General Public License v2 |
| |
| import os |
| import sys |
| |
| |
| def main(argv): |
| if len(argv) < 2: |
| return 'Usage: {} <main-child-pid>'.format(argv[0]) |
| main_child_pid = int(argv[1]) |
| |
| # wait for child processes |
| while True: |
| pid, status = os.wait() |
| if pid == main_child_pid: |
| if os.WIFEXITED(status): |
| return os.WEXITSTATUS(status) |
| elif os.WIFSIGNALED(status): |
| os.kill(os.getpid(), os.WTERMSIG(status)) |
| # go to the unreachable place |
| break |
| |
| # this should never be reached |
| return 127 |
| |
| |
| if __name__ == '__main__': |
| sys.exit(main(sys.argv)) |