Roxen.git/
server/
base_server/
roxen.pike
Branch:
Tag:
Non-build tags
All tags
No tags
2002-04-19
2002-04-19 12:29:35 by Anders Johansson <anders@roxen.com>
b43d3863a11bcca0b7d10ef08fad10d0dad3196e (
24
lines) (+
12
/-
12
)
[
Show
|
Annotate
]
Branch:
5.2
Better fix for [bug
2771 (#2771)
].
Rev: server/base_server/roxen.pike:1.789
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.
788
2002/04/19 12:
05
:
59
grubba
Exp $";
+
constant cvs_version="$Id: roxen.pike,v 1.
789
2002/04/19 12:
29
:
35
anders
Exp $";
// The argument cache. Used by the image cache. ArgCache argcache;
1212:
}); }
-
void unref(string name)
-
//! Remove a ref for the URL 'name'
+
void unref(string
_
name)
+
//! Remove a ref for the URL '
_
name'
{ // if(!urls[name]) // only unref once // return;
-
m_delete(conf_data, urls[name]->conf);
-
m_delete(urls, name);
+
m_delete(conf_data, urls[
_
name]->conf);
+
m_delete(urls,
_
name);
if (!path && sizeof (Array.uniq (values (urls)->path)) == 1) path = values (urls)[0]->path;
-
sorted_urls -= (
{name}
);
+
sorted_urls -= (
{_name}
);
if( !--refs ) { if (port_obj) { destruct(port_obj); } port_obj = 0;
-
+
m_delete(open_ports[name][ip], port);
+
if(!sizeof(open_ports[name][ip]))
+
m_delete(open_ports[name], ip);
+
if(!sizeof(open_ports[name]))
+
m_delete(open_ports, name);
//destruct( ); // Close the port. } }
1767:
if (urls[url] && (!conf || !urls[url]->conf || (urls[url]->conf == conf)) && urls[url]->port) {
-
object port = urls[ url ]->port;
-
m_delete( open_ports[port->name][port->ip], port->port );
-
if (!sizeof(open_ports[port->name][port->ip]))
-
m_delete(open_ports[port->name], port->ip);
-
if (!sizeof(open_ports[port->name]))
-
m_delete(open_ports, port->name);
+
urls[ url ]->port->unref(url); m_delete( urls, url ); m_delete( urls, ourl );