(self)
| 1021 | del self._target, self._args, self._kwargs |
| 1022 | |
| 1023 | def _bootstrap(self): |
| 1024 | # Wrapper around the real bootstrap code that ignores |
| 1025 | # exceptions during interpreter cleanup. Those typically |
| 1026 | # happen when a daemon thread wakes up at an unfortunate |
| 1027 | # moment, finds the world around it destroyed, and raises some |
| 1028 | # random exception *** while trying to report the exception in |
| 1029 | # _bootstrap_inner() below ***. Those random exceptions |
| 1030 | # don't help anybody, and they confuse users, so we suppress |
| 1031 | # them. We suppress them only when it appears that the world |
| 1032 | # indeed has already been destroyed, so that exceptions in |
| 1033 | # _bootstrap_inner() during normal business hours are properly |
| 1034 | # reported. Also, we only suppress them for daemonic threads; |
| 1035 | # if a non-daemonic encounters this, something else is wrong. |
| 1036 | try: |
| 1037 | self._bootstrap_inner() |
| 1038 | except: |
| 1039 | if self._daemonic and _sys is None: |
| 1040 | return |
| 1041 | raise |
| 1042 | |
| 1043 | def _set_ident(self): |
| 1044 | self._ident = get_ident() |
nothing calls this directly
no test coverage detected