SOLVED: Re: DCC: accept() returned invalid socket (Result too large), try again

darkmark darkmark@filament.org
Mon Aug 11 16:25:06 UTC 2003


On Thu, 17 Jul 2003, darkmark wrote:
> After running overnight, it appears omething seems to be leaking
> (libmilter?).  The amount of KQUEUE descriptors (which are kevent
> [kqueue(2)] allocated, I think select() and poll() are tied to these)
> keeps steadily climbing while the rest of the file descriptors stay
> stable.

A Patch was applied to the FreeBSD-STABLE branch this weekend to solve the
kqueue leak in libmilter (and pretty much anything else using kqueue in a
threaded environment).

--- Message Attached ---

Subject: cvs commit: src/lib/libc_r Makefile src/lib/libc_r/uthread
Makefile.inc

mp          2003/08/10 16:52:59 PDT

  FreeBSD src repository

  Modified files:        (Branch: RELENG_4)
    lib/libc_r           Makefile
    lib/libc_r/uthread   Makefile.inc
  Added files:           (Branch: RELENG_4)
    lib/libc_r/uthread   uthread_kqueue.c
  Log:
  MFC: Add wrapper for kqueue() to keep track of the allocated fd and
allow
       it to be closed. This fixes a file descriptor leak when closing a
       kqueue() fd.

  Revision  Changes    Path
  1.24.2.8  +1 -1      src/lib/libc_r/Makefile
  1.23.2.9  +1 -0      src/lib/libc_r/uthread/Makefile.inc
  1.1.2.1   +53 -0     src/lib/libc_r/uthread/uthread_kqueue.c (new)
_______________________________________________
cvs-src@freebsd.org mailing list
http://lists.freebsd.org/mailman/listinfo/cvs-src
To unsubscribe, send any mail to "cvs-src-unsubscribe@freebsd.org"

--- End Attachment ---

--
Mark Atkinson
darkmark@filament.org
(!wired)?(coffee++):(wired);




More information about the DCC mailing list

Contact vjs@rhyolite.com by mail or use the form.