Changeset 2803 for trunk


Ignore:
Timestamp:
Aug 31, 2006, 1:24:20 AM (19 years ago)
Author:
bird
Message:

Log module handle when registering a fork module.

File:
1 edited

Legend:

Unmodified
Added
Removed
  • trunk/libc/src/kNIX/os2/libcfork.c

    r2787 r2803  
    277277
    278278
     279#ifdef DEBUG_LOGGING
     280/**
     281 * Logs the name, handle and stuff of the module which the give address belongs to.
     282 *
     283 * @param   pvInModule  Address within a module.
     284 */
     285static void forkLogModuleByAddr(PVOID pvInModule)
     286{
     287    HMODULE hmod = NULLHANDLE;
     288    ULONG   offObj = 0;
     289    ULONG   iObj   = 0;
     290    CHAR    szName[32];
     291    APIRET  rc = DosQueryModFromEIP(&hmod, &iObj, sizeof(szName), &szName[0], &offObj, (uintptr_t)pvInModule);
     292    if (rc == NO_ERROR)
     293    {
     294        CHAR szFullName[CCHMAXPATH];
     295        if (DosQueryModuleName(hmod, sizeof(szFullName), szFullName) != NO_ERROR)
     296            szFullName[0] = '\0';
     297        LIBCLOG_MSG2("pvInModule=%p: hmod=%lx iObj=%#lx offObj=%lx %s %s\n",
     298                     pvInModule, hmod, iObj, offObj, szName, szFullName);
     299    }
     300    else
     301        LIBCLOG_MSG2("pvInModule=%p: rc=%ld", pvInModule, rc);
     302}
     303#endif /* DEBUG_LOGGING */
     304
     305
    279306/**
    280307 * Register a forkable module. Called by crt0 and dll0.
     
    306333                  (void *)pModule, pModule->uVersion, (void *)pModule->pfnAtFork, (void *)pModule->papParent1, (void *)pModule->papChild1,
    307334                  (void *)pModule->pvDataSegBase, (void *)pModule->pvDataSegEnd, pModule->fFlags, (void *)pModule->pNext, fExecutable);
     335#ifdef DEBUG_LOGGING
     336    forkLogModuleByAddr(pModule->pvDataSegBase);
     337#endif
    308338    int                 rc;
    309339    __LIBC_PSPMPROCESS  pProcess;
     
    449479                  (void *)pModule, pModule->uVersion, (void *)pModule->pfnAtFork, (void *)pModule->papParent1, (void *)pModule->papChild1,
    450480                  (void *)pModule->pvDataSegBase, (void *)pModule->pvDataSegEnd, pModule->fFlags, (void *)pModule->pNext);
     481#ifdef DEBUG_LOGGING
     482    forkLogModuleByAddr(pModule->pvDataSegBase);
     483#endif
    451484
    452485    /*
Note: See TracChangeset for help on using the changeset viewer.