code: def read(self, maxsignals=None):
          
          if maxsignals is None:
              maxsignals = len(self._signals)
          if maxsignals <= 0:
              raise ValueError("maxsignals must be greater than 0")
          info_list = (signalfd_siginfo * maxsignals)()
          num_read = read(self._sfd, byref(info_list), sizeof(info_list))
          return info_list[:num_read // sizeof(signalfd_siginfo)]
docs: Read information about currently pending signals.
  
          :param maxsignals:
              Maximum number of signals to read. By default this is the same
              as the number of signals registered with this signalfd.
          :returns:
              A list of signalfd_siginfo object with information about most
              recently read signals. This list may be empty (in non-blocking
              mode).
          :raises ValueError:
              If :meth:`closed()` is True
  
          Read up to maxsignals recent pending singals ouf of the set of signals
          being monitored by this signalfd. If there are no signals yet and
          SFD_NONBLOCK was not passed to flags in :meth:`__init__()` then this
          call blocks until such signal is ready.