VirtualBox

Changeset 46316 in vbox for trunk/src/VBox/Main


Ignore:
Timestamp:
May 30, 2013 6:29:22 AM (12 years ago)
Author:
vboxsync
svn:sync-xref-src-repo-rev:
86082
Message:

Main/Metrics: Solaris file descriptor leak fix (#6788)

File:
1 edited

Legend:

Unmodified
Added
Removed
  • trunk/src/VBox/Main/src-server/solaris/PerformanceSolaris.cpp

    r45051 r46316  
    4949
    5050    typedef libzfs_handle_t *(*PFNZFSINIT)(void);
     51    typedef void (*PFNZFSFINI)(libzfs_handle_t *);
    5152    typedef zfs_handle_t *(*PFNZFSOPEN)(libzfs_handle_t *, const char *, int);
    5253    typedef void (*PFNZFSCLOSE)(zfs_handle_t *);
     
    9192    libzfs_handle_t  *mZfsLib;
    9293    PFNZFSINIT        mZfsInit;
     94    PFNZFSFINI        mZfsFini;
    9395    PFNZFSOPEN        mZfsOpen;
    9496    PFNZFSCLOSE       mZfsClose;
     
    140142    {
    141143        mZfsInit        =        (PFNZFSINIT)dlsym(mZfsSo, "libzfs_init");
     144        mZfsFini        =        (PFNZFSFINI)dlsym(mZfsSo, "libzfs_fini");
    142145        mZfsOpen        =        (PFNZFSOPEN)dlsym(mZfsSo, "zfs_open");
    143146        mZfsClose       =       (PFNZFSCLOSE)dlsym(mZfsSo, "zfs_close");
     
    164167    if (mKC)
    165168        kstat_close(mKC);
     169    /* Not calling libzfs_fini() causes file descriptor leaks (#6788). */
     170    if (mZfsFini && mZfsLib)
     171        mZfsFini(mZfsLib);
    166172    if (mZfsSo)
    167173        dlclose(mZfsSo);
Note: See TracChangeset for help on using the changeset viewer.

© 2025 Oracle Support Privacy / Do Not Sell My Info Terms of Use Trademark Policy Automated Access Etiquette