> i don't think thats realy the problem because if i reboot and log on, when i
> type sockets i'm the 6 socket connection, so i realy just this somewhere the
> mud isn't freeing sockets. Also i'v had this problem the whole time my muds
> been up so is their like a stock problem with freeing descriptors?

Well, there are limitations on TCP/IP that will cause descriptor loss in
stock code.. the SO_KEEPALIVE is a reasonable solution, though.  Did you
check /proc/#/fd directory to see what type of descriptors you have
open?  It isn't necessarily socket descriptors, you might be opening
something like fpReserve without closing the old one.

[EMAIL PROTECTED] divine]$ ls -l /proc/27128/fd
0 -> /dev/null
1 -> /home/divine/Rom24/log/11-20-01.log
2 -> /home/divine/Rom24/log/11-20-01.log
3 -> socket:[1748884]
4 -> socket:[1746696]
5 -> socket:[1748868]
6 -> socket:[1748717]
7 -> socket:[1748840]
8 -> socket:[1749481]
9 -> socket:[1749387]
11 -> socket:[1749454]
12 -> socket:[1749473]
13 -> socket:[1749455]

I stripped the output of ls so it would fit.. but you get the idea.
You see I have fpReserve open on 0.  1 and 2 are dup'd to my log file,
so I am sure to catch everything going to stdout and stderr.  4 is the
listening socket.  The rest are socket descriptors, and a check with the
sockets command shows that they are all accounted for.

--Palrich.

Reply via email to