[Date Prev][Date Next] [Chronological] [Thread] [Top]

Re: (ITS#4585) slapd-search generates TIME_WAIT connections increasingly

> I note that in libldap tcp_close() wraps a shutdown(2) and a close(2) (at
> least on Linux) whenever SHUT_RDWD is defined (unless closesocket is
> defined).  I suggest checking what tcp_close gets defined to (for example,
> by compiling libraries/libldap/os-ip.c with gcc -E and inspecting the
> resulting code).  If SHUT_RDWR is not defined on Solaris 9 (I have no
> means to check right now), shutdown(2) wouldn't be invoked.

Just for the records: on Solaris 8, shutdown is invoked; connections
remain in TIME_WAIT (not in CLOSE_WAIT) for a while only at the server's
side.  Eventually, they get cleared (this happens in minutes, not in
hours).  The same behavior occurs in Linux.  At the client's side,
connections get cleared as soon as [tcp_]close() is invoked.  This happens
irrespective of using AD or OpenLDAP's slapd.  One difference I observe
between Linux and Solaris is that if slapd-tester is stopped with Ctrl-C,
client-side connections on Solaris hang out for a while (minutes) in
TIME_WAIT, while on Linux they get cleared immediately.  in I'm looking
for pointers in Sun documentation.


Ing. Pierangelo Masarati
Responsabile Open Solution
OpenLDAP Core Team

SysNet s.n.c.
Via Dossi, 8 - 27100 Pavia - ITALIA
Office:   +39.02.23998309          
Mobile:   +39.333.4963172
Email:    pierangelo.masarati@sys-net.it