'Initializes the ``SIGCHLD`` handler.
The signal handler is run on an `.IOLoop` to avoid locking issues.
Note that the `.IOLoop` used for signal handling need not be the
same one used by individual Subprocess objects (as long as the
``IOLoops`` are each running in separate threads).
.. versionchanged:: 4.1
The ``io_loop`` argument is deprecated.'

@classmethod
def initialize(cls, io_loop=None):

    if cls._initialized:
        return
    if (io_loop is None):
        io_loop = ioloop.IOLoop.current()
    cls._old_sigchld = signal.signal(signal.SIGCHLD, (lambda sig, frame: io_loop.add_callback_from_signal(cls._cleanup)))
    cls._initialized = True
