update to NormSession::DeleteTxObject() to close file for NORM_OBJECT_FILE _befere_ issuing PURGE notification
parent
2e3d00e254
commit
b896f5408f
|
|
@ -361,6 +361,7 @@ class NormFileObject : public NormObject
|
|||
const char* infoPtr = NULL,
|
||||
UINT16 infoLen = 0);
|
||||
bool Accept(const char* thePath);
|
||||
void CloseFile();
|
||||
void Close();
|
||||
|
||||
const char* GetPath() {return path;}
|
||||
|
|
|
|||
|
|
@ -2395,7 +2395,7 @@ bool NormFileObject::Accept(const char* thePath)
|
|||
}
|
||||
} // end NormFileObject::Accept()
|
||||
|
||||
void NormFileObject::Close()
|
||||
void NormFileObject::CloseFile()
|
||||
{
|
||||
if (file.IsOpen())
|
||||
{
|
||||
|
|
@ -2403,6 +2403,11 @@ void NormFileObject::Close()
|
|||
file.Unlock();
|
||||
file.Close();
|
||||
}
|
||||
} // end NormFileObject::CloseFile()
|
||||
|
||||
void NormFileObject::Close()
|
||||
{
|
||||
CloseFile();
|
||||
NormObject::Close();
|
||||
} // end NormFileObject::Close()
|
||||
|
||||
|
|
|
|||
|
|
@ -2132,6 +2132,8 @@ void NormSession::DeleteTxObject(NormObject *obj, bool notify)
|
|||
ASSERT(NULL != obj);
|
||||
if (tx_table.Remove(obj))
|
||||
{
|
||||
if (NormObject::FILE == obj->GetType())
|
||||
static_cast<NormFileObject*>(obj)->CloseFile();
|
||||
Notify(NormController::TX_OBJECT_PURGED, (NormSenderNode *)NULL, obj);
|
||||
NormObjectId objectId = obj->GetId();
|
||||
tx_pending_mask.Unset(objectId);
|
||||
|
|
|
|||
Loading…
Reference in New Issue