X-Authentication-Warning: delorie.com: mail set sender to djgpp-bounces using -f X-Recipient: djgpp AT delorie DOT com X-Original-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20120113; h=mime-version:in-reply-to:references:date:message-id:subject:from:to :content-type; bh=6F5oM1BcorLHK/aShPlEkWXH5UBWdoHgOj076du3+04=; b=k5PrAq70ptrgQwyRStdp6JHCFGBNG7hG0+ODky31dv0VIswxX91/kxhFIoHYVOE2f8 N/gCp644Nzhj0bureyi1Qo2quynfHM6CN0lxSUL9V6VahbFkKmfIzmYF7/AfO+xg5KIV Y18Cz7m7tXZ9sHcuX/HuE0Hhs3tBXWY02LOcgdFc/QhohKz3q+Icy/mc4nqIjbOmTm+M g+lzgwhT1w+m0x1Z/eLweIuxoJOJlyA2JxoyYZ1MgP1Jk340ARZfx6PCbeGUGfXxZ5Wo c6we/D/7lkULyAdAALxSBRsrCljRPg5hClkzDfxNPBfGIJRr0jute/u5Z3EZRvqwS3m3 by2g== MIME-Version: 1.0 X-Received: by 10.107.9.222 with SMTP id 91mr8487652ioj.107.1443203137863; Fri, 25 Sep 2015 10:45:37 -0700 (PDT) In-Reply-To: References: Date: Fri, 25 Sep 2015 10:45:37 -0700 Message-ID: Subject: Re: dlclose not removing dependency dxes From: "Louis Santillan (lpsantil AT gmail DOT com) [via djgpp AT delorie DOT com]" To: "djgpp AT delorie DOT com" Content-Type: text/plain; charset=UTF-8 Reply-To: djgpp AT delorie DOT com Errors-To: nobody AT delorie DOT com X-Mailing-List: djgpp AT delorie DOT com X-Unsubscribes-To: listserv AT delorie DOT com Precedence: bulk In your example, is a.dxe opening b.dxe? Is dlopen figuring that out on its own then loading b.dxe? On Fri, Sep 25, 2015 at 10:21 AM, Ozkan Sezer (sezeroz AT gmail DOT com) [via djgpp AT delorie DOT com] wrote: > On 9/25/15, Ozkan Sezer wrote: >> AFAICS, dlclose()ing of a dxe doesn't remove its dependency dxes along >> with it, which will result in unnecessarily occupied memory which may >> prove fatal upon multiple dlopen()/dlclose() of a dxe with deps. This >> needs addressing. >> > > My last argument was inaccurate and misleading. Here's better: > > One has a.dxe and b.dxe; a.dxe depends on b.dxe. Do dlopen a.dxe > and b.dxe is opened implicitly. Do dlcose a.dxe, and b.dxe stays > open still occupying its memory. The memory occupied by the unused > b.dxe might be needed by the app but will be unavailable to it. > Further dlopen calls for a.dxe will increment the refcount for b.dxe > which never gets decremented.