VirtualBox

Ignore:
Timestamp:
Oct 26, 2007 4:04:08 PM (17 years ago)
Author:
vboxsync
svn:sync-xref-src-repo-rev:
25734
Message:

Runtime: Fixed memory leaks found by valgrind.

File:
1 edited

Legend:

Unmodified
Added
Removed
  • trunk/src/VBox/Runtime/common/misc/thread.cpp

    r5417 r5519  
    242242            rtThreadInsert(pThread, NativeThread);
    243243            pThread->enmState = RTTHREADSTATE_RUNNING;
     244            rtThreadRelease(pThread);
    244245        }
    245246    }
     
    686687    PRTTHREADINT pThread = rtThreadGet(Thread);
    687688    if (pThread)
    688         return (RTNATIVETHREAD)pThread->Core.Key;
     689    {
     690        RTNATIVETHREAD NativeThread = (RTNATIVETHREAD)pThread->Core.Key;
     691        rtThreadRelease(pThread);
     692        return NativeThread;
     693    }
    689694    return NIL_RTNATIVETHREAD;
    690695}
     
    702707    PRTTHREADINT pThread = rtThreadGetByNative(NativeThread);
    703708    if (pThread)
    704     {
    705         rtThreadRelease(pThread);
    706709        return pThread;
    707     }
    708710    return NIL_RTTHREAD;
    709711}
     
    723725        PRTTHREADINT pThread = rtThreadGet(Thread);
    724726        if (pThread)
    725             return pThread->szName;
     727        {
     728            const char *szName = pThread->szName;
     729            rtThreadRelease(pThread);
     730            return szName;
     731        }
    726732    }
    727733    return NULL;
     
    741747        return NULL;
    742748    PRTTHREADINT pThread = rtThreadGet(Thread);
    743     return pThread ?  pThread->szName : NULL;
     749    if (pThread)
     750    {
     751        const char *szName = pThread->szName;
     752        rtThreadRelease(pThread);
     753        return szName;
     754    }
     755    return NULL;
    744756}
    745757
     
    772784    pThread->szName[cchName] = '\0';    /* paranoia */
    773785    memcpy(pThread->szName, pszName, cchName);
     786    rtThreadRelease(pThread);
    774787    return VINF_SUCCESS;
    775788}
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