giop connections



Hello,

  I'm trying to make my ORB server not grow in memory size on runtime. I
  found out that GIOP connections are created, but not released later on,
  thus inevitably eating memory as new connections are made as every new GIOP
  connection adds 60 more bytes to program size.

  Here's where it happens:

static gboolean
link_server_accept_connection (LinkServer      *server,
                               LinkConnection **connection)
{

	...

        klass = (LinkServerClass *) G_OBJECT_GET_CLASS (server);

        g_assert (klass->create_connection);
//GIOP connection created here
        *connection = klass->create_connection (server);

        g_return_val_if_fail (*connection != NULL, FALSE);

        d_printf ("accepted a new connection (%d) on server %d\n",
                 fd, server->priv->fd);

        link_connection_from_fd
                (*connection, fd, server->proto, NULL, NULL,
                 FALSE, LINK_CONNECTED, server->create_options);

        server->priv->connections = g_slist_prepend (
                server->priv->connections, *connection);

        return TRUE;
}

I would appreciate any help on how to make my ORB server not grow in size over time.

Thank you.

-- 
/Dmitry <dmaks esphion com>


[Date Prev][Date Next]   [Thread Prev][Thread Next]   [Thread Index] [Date Index] [Author Index]