Changeset 2888 for trunk/src


Ignore:
Timestamp:
Sep 6, 2016, 5:02:20 PM (9 years ago)
Author:
bird
Message:

kWorker: skip some unnecessary DeleteFileW calls from cl.exe cleaning up temporary files.

File:
1 edited

Legend:

Unmodified
Added
Removed
  • trunk/src/kWorker/kWorker.c

    r2885 r2888  
    54425442    return cwcRet;
    54435443}
     5444
     5445
     5446#ifdef WITH_TEMP_MEMORY_FILES
     5447/** Kernel32 - DeleteFileW
     5448 * Skip deleting the in-memory files. */
     5449static BOOL WINAPI kwSandbox_Kernel32_DeleteFileW(LPCWSTR pwszFilename)
     5450{
     5451    BOOL fRc;
     5452    if (   g_Sandbox.pTool->u.Sandboxed.enmHint == KWTOOLHINT_VISUAL_CPP_CL
     5453        && kwFsIsClTempFileW(pwszFilename))
     5454    {
     5455        KWFS_LOG(("DeleteFileW(%s) -> TRUE [temp]\n", pwszFilename));
     5456        fRc = TRUE;
     5457    }
     5458    else
     5459    {
     5460        fRc = DeleteFileW(pwszFilename);
     5461        KWFS_LOG(("DeleteFileW(%s) -> %d (%d)\n", pwszFilename, fRc, GetLastError()));
     5462    }
     5463    return fRc;
     5464}
     5465#endif /* WITH_TEMP_MEMORY_FILES */
    54445466
    54455467
     
    60666088    { TUPLE("GetFileAttributesW"),          NULL,       (KUPTR)kwSandbox_Kernel32_GetFileAttributesW },
    60676089    { TUPLE("GetShortPathNameW"),           NULL,       (KUPTR)kwSandbox_Kernel32_GetShortPathNameW },
     6090#ifdef WITH_TEMP_MEMORY_FILES
     6091    { TUPLE("DeleteFileW"),                 NULL,       (KUPTR)kwSandbox_Kernel32_DeleteFileW },
     6092#endif
    60686093
    60696094    { TUPLE("VirtualAlloc"),                NULL,       (KUPTR)kwSandbox_Kernel32_VirtualAlloc },
     
    61746199    { TUPLE("GetFileAttributesW"),          NULL,       (KUPTR)kwSandbox_Kernel32_GetFileAttributesW },
    61756200    { TUPLE("GetShortPathNameW"),           NULL,       (KUPTR)kwSandbox_Kernel32_GetShortPathNameW },
     6201#ifdef WITH_TEMP_MEMORY_FILES
     6202    { TUPLE("DeleteFileW"),                 NULL,       (KUPTR)kwSandbox_Kernel32_DeleteFileW },
     6203#endif
    61766204
    61776205#ifdef WITH_HASH_MD5_CACHE
Note: See TracChangeset for help on using the changeset viewer.