commit 2025-09-09 00:14 edit a bit ZCppMain/ZtCSimList.H
This commit is contained in:
@ -751,6 +751,9 @@ namespace ZNsMain
|
||||
ZtCThreadEx& operator=(const ZtCThreadEx& rhs)*/
|
||||
|
||||
|
||||
virtual ~ZtCThreadEx(){}
|
||||
|
||||
|
||||
bool Make()
|
||||
{
|
||||
return this->TThread::Make(ThreadFunc, GetCDerivePtr());
|
||||
|
@ -380,11 +380,12 @@ namespace ZNsMain
|
||||
////////////// ) */
|
||||
|
||||
|
||||
void GetManyLinkCopy( ZCLink* AP_LinkOrgin,
|
||||
TTypSize AL_FarNum ,
|
||||
ZCLink*& APR_HeadCopy,
|
||||
ZCLink*& APR_TailCopy
|
||||
/*****************/ )
|
||||
void GetManyLinkCopy /*////////////////////////////*/
|
||||
(
|
||||
ZCLink* AP_LinkOrgin, TTypSize AL_FarNum ,
|
||||
ZCLink*& APR_HeadCopy, ZCLink*& APR_TailCopy
|
||||
)
|
||||
/*/////////////////////////////////////////////////*/
|
||||
{
|
||||
// AL_FarNum > 0
|
||||
// AP_LinkOrgin 링크부터,
|
||||
@ -466,11 +467,13 @@ namespace ZNsMain
|
||||
ml_UseSize = 0;
|
||||
}
|
||||
//else // AL_FarNum > ml_UseSize
|
||||
}
|
||||
/*void GetManyLinkCopy(
|
||||
ZCLink* AP_LinkOrgin, TTypSize AL_FarNum,
|
||||
ZCLink*& APR_HeadCopy, ZCLink*& APR_TailCopy,
|
||||
///////////// ) */
|
||||
}/*
|
||||
void GetManyLinkCopy ////////////////////////////////
|
||||
(
|
||||
ZCLink* AP_LinkOrgin, TTypSize AL_FarNum ,
|
||||
ZCLink*& APR_HeadCopy, ZCLink*& APR_TailCopy
|
||||
)
|
||||
///////////////////////////////////////////////////*/
|
||||
|
||||
|
||||
void MakeLink( TTypSize AL_MakeSize,
|
||||
@ -498,9 +501,9 @@ namespace ZNsMain
|
||||
|
||||
ml_AllSize += AL_MakeSize;
|
||||
|
||||
ZCLink* VP_MakeLink =0;
|
||||
ZCLink* VP_TempLink =APR_HeadLink;
|
||||
bool VB_IsHeapOver=false;
|
||||
ZCLink* VP_MakeLink = 0 ;
|
||||
ZCLink* VP_TempLink = APR_HeadLink;
|
||||
bool VB_IsHeapOver= false ;
|
||||
|
||||
// bool VB_IsHeapOver 은 new 연산자가 NULL 포인터를 반환했을 때
|
||||
// true 를 대입받는다. 이 값을 조사함으로써 heap overflow 를 처리한다.
|
||||
@ -519,8 +522,9 @@ namespace ZNsMain
|
||||
|
||||
if(VP_MakeLink==0)
|
||||
{
|
||||
ml_AllSize -= AL_MakeSize+1 ;
|
||||
VB_IsHeapOver=true;
|
||||
ml_AllSize -= AL_MakeSize+1 ;
|
||||
VB_IsHeapOver = true ;
|
||||
|
||||
break;
|
||||
}
|
||||
//if(VP_MakeLink==0)
|
||||
@ -584,9 +588,9 @@ namespace ZNsMain
|
||||
ZNsMain::ZCCheckAlloc::ZCAllowAlloc CAllowAllocObj;
|
||||
#endif //_DEBUG
|
||||
|
||||
ZCLink* VP_MakeLink =0;
|
||||
ZCLink* VP_TempLink =0;
|
||||
bool VB_IsHeapOver=false;
|
||||
ZCLink* VP_MakeLink = 0 ;
|
||||
ZCLink* VP_TempLink = 0 ;
|
||||
bool VB_IsHeapOver= false;
|
||||
|
||||
VP_TempLink = \
|
||||
VP_MakeLink = new ZCLink(AP_LinkOrgin->mo_Type);
|
||||
@ -679,7 +683,7 @@ namespace ZNsMain
|
||||
}
|
||||
//void ReceiveLink(ZCLink* AP_Link)
|
||||
|
||||
void ReceiveLink(ZCLink* AP_HeadLink,ZCLink* AP_TailLink,TTypSize AL_Count)
|
||||
void ReceiveLink(ZCLink* AP_HeadLink,ZCLink* AP_TailLink, TTypSize AL_Count)
|
||||
{
|
||||
#ifdef _REENTRANT_MUTEX
|
||||
ZNsMain::ZCMutexSmallLock VO_ZCMutexSmallLock(mo_Mutex);
|
||||
@ -701,9 +705,9 @@ namespace ZNsMain
|
||||
|
||||
mp_NoUseTailLink->mp_NextLink=0;
|
||||
|
||||
ml_UseSize+=AL_Count;
|
||||
ml_UseSize += AL_Count ;
|
||||
}
|
||||
//void ReceiveLink(ZCLink* AP_HeadLink,ZCLink* AP_TailLink,TTypSize AL_Count)
|
||||
//void ReceiveLink(ZCLink* AP_HeadLink,ZCLink* AP_TailLink, TTypSize AL_Count)
|
||||
|
||||
|
||||
//private:
|
||||
@ -743,9 +747,7 @@ namespace ZNsMain
|
||||
|
||||
#endif //!_SIMLIST_FREE_STORE_CHECK_
|
||||
|
||||
if(ml_UseSize==0)
|
||||
return ;
|
||||
//endif
|
||||
if(ml_UseSize==0) return ;
|
||||
|
||||
ZCLink* VP_DelLink=mp_NoUseHeadLink;
|
||||
|
||||
@ -774,9 +776,7 @@ namespace ZNsMain
|
||||
ZNsMain::ZCMutexSmallLock VO_ZCMutexSmallLock(mo_Mutex);
|
||||
#endif //_REENTRANT_MUTEX
|
||||
|
||||
if(ml_UseSize==0)
|
||||
return ;
|
||||
//endif
|
||||
if(ml_UseSize==0) return ;
|
||||
|
||||
ZCLink* VP_DelLink=mp_NoUseHeadLink;
|
||||
|
||||
@ -1039,7 +1039,7 @@ namespace ZNsMain
|
||||
/////////////////////////////////////////////////*/
|
||||
|
||||
|
||||
ZtCSimList& MakeDefault(TTypSize AL_DefaultSize ,ZtCSimList& ARR_StoreList) const
|
||||
ZtCSimList& MakeDefault(TTypSize AL_DefaultSize, ZtCSimList& ARR_StoreList) const
|
||||
{
|
||||
// must AL_DefaultSize > 0
|
||||
|
||||
@ -1055,7 +1055,7 @@ namespace ZNsMain
|
||||
|
||||
return ARR_StoreList;
|
||||
}
|
||||
//ZtCSimList& MakeDefault(TTypSize AL_DefaultSize ,ZtCSimList& ARR_StoreList) const
|
||||
//ZtCSimList& MakeDefault(TTypSize AL_DefaultSize, ZtCSimList& ARR_StoreList) const
|
||||
|
||||
|
||||
virtual void OnDelete( ZCLink* AP_CutHead, TTypSize AL_CutHeadPos,
|
||||
@ -1193,11 +1193,8 @@ namespace ZNsMain
|
||||
//const TType& operator[](TTypSize AL_Index) const
|
||||
|
||||
|
||||
operator TType& ()
|
||||
{
|
||||
return AddTailDefault()->mo_Type;
|
||||
}/*
|
||||
operator TType& ()*/
|
||||
operator TType&(){return AddTailDefault()->mo_Type;}
|
||||
|
||||
|
||||
TType& operator()()
|
||||
{
|
||||
@ -1570,7 +1567,7 @@ namespace ZNsMain
|
||||
{
|
||||
if(this==&rhs || rhs.mp_HeadLink==0)
|
||||
{return;}
|
||||
////////////////////////////////////
|
||||
/*++++++++++++++++++++++++++++++++*/
|
||||
|
||||
rhs.OnDelete( rhs.mp_HeadLink, 1,
|
||||
rhs.mp_TailLink, rhs.ml_Size
|
||||
@ -1603,7 +1600,7 @@ namespace ZNsMain
|
||||
{
|
||||
if(this==&rhs || rhs.mp_HeadLink==0)
|
||||
{ return; }
|
||||
////////////////////////////////////
|
||||
/*++++++++++++++++++++++++++++++++*/
|
||||
|
||||
rhs.OnDelete( rhs.mp_HeadLink, 1,
|
||||
rhs.mp_TailLink, rhs.ml_Size
|
||||
@ -1847,7 +1844,7 @@ namespace ZNsMain
|
||||
{
|
||||
if(VP_TempLink==AP_pSearchLink)
|
||||
{return VL_FindIndex;}
|
||||
///////////////////////////////
|
||||
/*+++++++++++++++++++++++++++*/
|
||||
|
||||
if(VL_FindIndex==ml_Size){return 0; }
|
||||
|
||||
@ -1875,7 +1872,7 @@ namespace ZNsMain
|
||||
{
|
||||
if(**VP_TempLink==AR_TypeArg)
|
||||
{return VL_FindIndex;}
|
||||
////////////////////////////
|
||||
/*+++++++++++++++++++++++++*/
|
||||
|
||||
if(VL_FindIndex==ml_Size){return 0; }
|
||||
|
||||
|
Reference in New Issue
Block a user