No file descriptor left in emacs

See this code snippet in src/kqueue.c:

  /* Check available file descriptors.  */
#ifdef HAVE_GETRLIMIT
  if (! getrlimit (RLIMIT_NOFILE, &rlim))
    maxfd = rlim.rlim_cur;
  else
#endif /* HAVE_GETRLIMIT  */
    maxfd = 256;

  /* We assume 50 file descriptors are sufficient for the rest of Emacs.  */
  ptrdiff_t watch_list_len = list_length (watch_list);
  if (maxfd - 50 < watch_list_len)
    xsignal2
      (Qfile_notify_error,
       build_string ("File watching not possible, no file descriptor left"),
       make_fixnum (watch_list_len));

I would say that you have registered 975 file notifications in Emacs, which exceeds the maximum number of file descriptors on your system: (975 + 50) > 1024

I have no idea whether you can change this upper limit. However, I believe 975 file notification requests are, hmm, quite high.