INT32 _ossModuleHandle::resolveAddress ( const CHAR *pFunctionName, OSS_MODULE_PFUNCTION *pFunctionAddress ) { INT32 rc = SDB_OK ; PD_TRACE_ENTRY ( SDB_OSSMODULEHANDLE_RESOLVEADDRESS ) ; if ( !pFunctionName || !pFunctionAddress ) { rc = SDB_INVALIDARG ; goto error ; } PD_TRACE2 ( SDB_OSSMODULEHANDLE_RESOLVEADDRESS, PD_PACK_STRING ( _moduleName ), PD_PACK_STRING ( pFunctionName )) ; SDB_ASSERT ( _isInitialized, "handle must be initialized before resolve address" ) ; #if defined (_LINUX) *pFunctionAddress = (OSS_MODULE_PFUNCTION)dlsym ( _moduleHandle, (CHAR*)pFunctionName ) ; if ( !*pFunctionAddress ) { PD_LOG ( PDERROR, "Failed to find function %s: %s", pFunctionName, dlerror () ) ; rc = SDB_SYS ; goto error ; } #elif defined (_WINDOWS) *pFunctionAddress = (OSS_MODULE_PFUNCTION)GetProcAddress ( _moduleHandle, (LPCSTR)pFunctionName ) ; if ( !*pFunctionAddress ) { rc = ossGetLastError () ; PD_LOG ( PDERROR, "Failed to find function %s: %d", pFunctionName, rc ) ; OSSMODULEHANDLE_ERR(rc) ; goto error ; } #endif done : PD_TRACE_EXITRC ( SDB_OSSMODULEHANDLE_RESOLVEADDRESS, rc ) ; return rc ; error : goto done ; }
// PD_TRACE_DECLARE_FUNCTION ( SDB_CATALOGCB_INSERTGROUPID, "sdbCatalogueCB::insertGroupID" ) void sdbCatalogueCB::insertGroupID( UINT32 grpID, BOOLEAN isActive ) { PD_TRACE_ENTRY ( SDB_CATALOGCB_INSERTGROUPID ) ; PD_TRACE2 ( SDB_CATALOGCB_INSERTGROUPID, PD_PACK_UINT ( grpID ), PD_PACK_UINT ( isActive ) ) ; if ( grpID >= CAT_DATA_GROUP_ID_BEGIN ) { ossScopedLock _lock(&_GrpIDMutex, EXCLUSIVE) ; if ( isActive ) { _grpIdMap.insert( GRP_ID_MAP::value_type(grpID, grpID) ); } else { _deactiveGrpIdMap.insert( GRP_ID_MAP::value_type(grpID, grpID) ); } _iCurGrpId = _iCurGrpId > grpID ? _iCurGrpId : ++grpID ; } PD_TRACE_EXIT ( SDB_CATALOGCB_INSERTGROUPID ) ; }