In function "browse_host_dl_receive()" of bh_download.c line  319 to 341.

    if (bc->rx != NULL) {
            rx_free(bc->rx);
            bc->rx = NULL;
    }

   {
           struct rx_link_args args;

           args.cb = &browse_rx_link_cb;
           args.bws = BSCHED_BWS_IN;
           args.wio = wio;

           bc->rx = rx_make(bc, &bc->host, rx_link_get_ops(), &args);
   }

   if (flags & BH_DL_CHUNKED) {
           struct rx_chunk_args args;

           args.cb = &browse_rx_chunk_cb;

           bc->rx = rx_make_above(bc->rx, rx_chunk_get_ops(), &args);
   }

"bc->rx" is overwritten if a chunked connection is initiated.  There
is a "rx_free()", but the lower level is not recorded so only the
chunked structure will be "freeded".  Although in either case it seems
that this is only reclaimed when GTKG exits?

It doesn't seem like the rx_disable, etc. will go up and down layers
to manage memory?

Fwiw,
Bill Pringlemeir.


-------------------------------------------------------------------------
Take Surveys. Earn Cash. Influence the Future of IT
Join SourceForge.net's Techsay panel and you'll get the chance to share your
opinions on IT & business topics through brief surveys - and earn cash
http://www.techsay.com/default.php?page=join.php&p=sourceforge&CID=DEVDEV
_______________________________________________
Gtk-gnutella-devel mailing list
[email protected]
https://lists.sourceforge.net/lists/listinfo/gtk-gnutella-devel

Reply via email to