Roxen.git/
server/
base_server/
roxen.pike
Branch:
Tag:
Non-build tags
All tags
No tags
2005-11-30
2005-11-30 10:48:53 by Henrik Grubbström (Grubba) <grubba@grubba.org>
d78720d70130bc3c411fe658112aeb0e2ef5b81e (
24
lines) (+
19
/-
5
)
[
Show
|
Annotate
]
Branch:
5.2
Bugfix in unref(). Fixes invariant.
Rev: server/base_server/roxen.pike:1.910
6:
// Per Hedbor, Henrik Grubbström, Pontus Hagland, David Hedbor and others. // ABS and suicide systems contributed freely by Francesco Chemolli
-
constant cvs_version="$Id: roxen.pike,v 1.
909
2005/11/
25
16
:
29
:
33
grubba Exp $";
+
constant cvs_version="$Id: roxen.pike,v 1.
910
2005/11/
30
10
:
48
:
53
grubba Exp $";
//! @appears roxen //!
1407:
if (open_ports[name]) { if (open_ports[name][ip]) { m_delete(open_ports[name][ip], port);
-
if(!sizeof(open_ports[name][ip]))
+
if(!sizeof(open_ports[name][ip]))
{
+
// Make sure the entries for IPv4 and IPv6 ANY are left alone.
+
if (ip && ip != "::")
m_delete(open_ports[name], ip); }
-
if(
!
sizeof(open_ports[name]))
+
}
+
if
(sizeof(open_ports[name])
<= 2
)
{
+
// Only ANY left.
+
int empty = 1;
+
foreach(open_ports[name]; string ip; mapping m) {
+
if (sizeof(m)) {
+
empty = 0;
+
break;
+
}
+
}
+
if (empty)
m_delete(open_ports, name); }
-
+
}
//destruct( ); // Close the port. } }