Skip to content

Commit

Permalink
refactor: try capturing signals in main
Browse files Browse the repository at this point in the history
  • Loading branch information
JoanFM committed Jul 3, 2023
1 parent 63b063e commit b277311
Showing 1 changed file with 14 additions and 3 deletions.
17 changes: 14 additions & 3 deletions jina/__init__.py
Original file line number Diff line number Diff line change
Expand Up @@ -12,9 +12,20 @@
import signal as _signal
import sys as _sys
import warnings as _warnings
import faulthandler

faulthandler.enable(file=_sys.stdout, all_threads=True)

def _segfault_signal(signum, frame):
print(f'\n\n\n\n\n\nSEGFAULT RECEIVED in MAIN PROCESS {signum}, {frame}\n\n\n\n\n\n')


_signal.signal(_signal.SIGSEGV, _segfault_signal)


def _segfault_child(signum, frame):
print(f'\n\n\n\n\n\nSIGCHLD RECEIVED in MAIN PROCESS {signum}, {frame}\n\n\n\n\n\n')


_signal.signal(_signal.SIGCHLD, _segfault_child)

import docarray as _docarray

Expand Down Expand Up @@ -66,7 +77,7 @@ def _warning_on_one_line(message, category, filename, lineno, *args, **kwargs):
except Exception as e:
_warnings.warn(
f'failed to set multiprocessing start_method to `fork`: {e!r}'
)
)

# do not change this line manually
# this is managed by git tag and updated on every release
Expand Down

0 comments on commit b277311

Please sign in to comment.