diff options
author | Dan Winship <danw@src.gnome.org> | 2003-08-12 17:13:53 +0000 |
---|---|---|
committer | Dan Winship <danw@src.gnome.org> | 2003-08-12 17:13:53 +0000 |
commit | 7013f30f5afe621bd3e5ce5a93b84b039824c57c (patch) | |
tree | 09162227ceb55667971640c825bfbdb8fc0ea634 /libsoup/soup-server.c | |
parent | ba90a2e60ef012598c5c2ce74cdbb7b3c1148bb5 (diff) | |
download | libsoup-7013f30f5afe621bd3e5ce5a93b84b039824c57c.tar.gz |
add gobject-2.0 to the PKG_CHECK_MODULES call
* configure.in (GLIB): add gobject-2.0 to the PKG_CHECK_MODULES
call
* libsoup/soup-address.c: Make this a GObject.
(soup_address_ref, soup_address_unref): Gone.
(soup_address_copy): Gone. Wasn't being used anyway.
* libsoup/soup-dns.c: Move all of the DNS code and caching stuff
here from soup-address.c, so that soup-address doesn't need to
worry about trying to cache zero-ref addresses.
* libsoup/soup-socket.c: Make this a GObject. Use "guint"
consistently for port numbers.
(soup_socket_ref, soup_socket_unref): Gone.
* libsoup/soup-private.h: Change the SoupSocket definition to be
SoupSocketPrivate. (Still need to keep this here since soup-server
pokes around in its internals.)
(SOUP_MAKE_TYPE): Copied from gal's E_MAKE_TYPE.
* libsoup/soup-server.c (read_done_cb, write_done_cb): Unref the
reader/writer rather than leaking them.
* libsoup/*: Use GObject methods for socket/address refcounting
* tests/auth-test.c (main)
* tests/timeserver.c (main): Call g_type_init.
* tests/get.c (main): Call g_type_init.
(get_url, got_url): Fix some bugs that could make -r mode get into
infinite loops downloading the same files over and over. Plug some
memory leaks to make this more useful for valgrinding libsoup.
* tests/simple-httpd.c (main): Call g_type_init. Set up a signal
handler for SIGINT so we can exit cleanly, since valgrind won't
give a leak report if you don't. Plug a few memory leaks.
* tests/simple-proxy.c (main): Likewise
Diffstat (limited to 'libsoup/soup-server.c')
-rw-r--r-- | libsoup/soup-server.c | 18 |
1 files changed, 10 insertions, 8 deletions
diff --git a/libsoup/soup-server.c b/libsoup/soup-server.c index 1ce700cb..6289394f 100644 --- a/libsoup/soup-server.c +++ b/libsoup/soup-server.c @@ -159,7 +159,7 @@ soup_server_unref (SoupServer *serv) g_source_remove (serv->accept_tag); if (serv->listen_sock) - soup_socket_unref (serv->listen_sock); + g_object_unref (serv->listen_sock); if (serv->cgi_read_chan) g_io_channel_unref (serv->cgi_read_chan); @@ -262,7 +262,7 @@ destroy_message (SoupMessage *msg) */ if (check_close_connection (msg)) { g_io_channel_close (chan); - soup_socket_unref (server_sock); + g_object_unref (server_sock); } else { /* @@ -315,6 +315,7 @@ write_done_cb (gpointer user_data) { SoupMessage *msg = user_data; + soup_transfer_write_unref (msg->priv->write_tag); msg->priv->write_tag = 0; destroy_message (msg); } @@ -632,7 +633,7 @@ read_headers_cb (const GString *headers, SoupSocket *server_sock = msg->priv->server_sock; gchar *host; - host = get_server_sockname (server_sock->sockfd); + host = get_server_sockname (server_sock->priv->sockfd); url = g_strdup_printf ( "%s%s:%d%s", @@ -862,6 +863,7 @@ read_done_cb (const SoupDataBuffer *data, SoupSocket *server_sock = req->priv->server_sock; GIOChannel *channel; + soup_transfer_read_unref (req->priv->read_tag); req->priv->read_tag = 0; call_handler (req, data, soup_context_get_uri (req->context)->path); @@ -941,12 +943,12 @@ start_another_request (GIOChannel *serv_chan, if (!(condition & G_IO_IN) || ioctl (fd, FIONREAD, &cnt) < 0 || cnt <= 0) - soup_socket_unref (data->server_sock); + g_object_unref (data->server_sock); else { msg = message_new (data->server); if (!msg) { g_warning ("Unable to create new incoming message\n"); - soup_socket_unref (data->server_sock); + g_object_unref (data->server_sock); } else { msg->priv->server_sock = data->server_sock; msg->priv->read_tag = @@ -986,11 +988,11 @@ conn_accept (GIOChannel *serv_chan, chan = soup_socket_get_iochannel (sock); if (server->proto == SOUP_PROTOCOL_HTTPS) - sock->iochannel = soup_ssl_get_server_iochannel (chan); + sock->priv->iochannel = soup_ssl_get_server_iochannel (chan); msg->priv->server_sock = sock; msg->priv->read_tag = - soup_transfer_read (sock->iochannel, + soup_transfer_read (sock->priv->iochannel, FALSE, read_headers_cb, NULL, @@ -1234,7 +1236,7 @@ soup_server_context_get_client_host (SoupServerContext *context) address = soup_server_context_get_client_address (context); host = g_strdup (soup_address_get_canonical_name (address)); - soup_address_unref (address); + g_object_unref (address); return host; } |