dont initiate IO in constructor
This commit is contained in:
@@ -34,21 +34,22 @@
|
||||
#include "syncGroup.h"
|
||||
#include "oldAccess.h"
|
||||
|
||||
syncGroupReadNotify::syncGroupReadNotify ( CASG &sgIn, chid pChan,
|
||||
unsigned type, arrayElementCount count, void *pValueIn ) :
|
||||
syncGroupReadNotify::syncGroupReadNotify ( CASG &sgIn, chid pChan, void *pValueIn ) :
|
||||
syncGroupNotify ( sgIn, pChan ), pValue ( pValueIn )
|
||||
{
|
||||
pChan->read ( type, count, *this, &this->id );
|
||||
}
|
||||
|
||||
void syncGroupReadNotify::begin ( unsigned type, arrayElementCount count )
|
||||
{
|
||||
this->chan->read ( type, count, *this, &this->id );
|
||||
this->idIsValid = true;
|
||||
}
|
||||
|
||||
syncGroupReadNotify * syncGroupReadNotify::factory (
|
||||
tsFreeList < class syncGroupReadNotify, 128 > &freeList,
|
||||
struct CASG &sg, chid chan, unsigned type,
|
||||
arrayElementCount count, void *pValueIn )
|
||||
struct CASG &sg, chid chan, void *pValueIn )
|
||||
{
|
||||
return new ( freeList ) syncGroupReadNotify ( sg, chan, type,
|
||||
count, pValueIn);
|
||||
return new ( freeList ) syncGroupReadNotify ( sg, chan, pValueIn);
|
||||
}
|
||||
|
||||
void syncGroupReadNotify::destroy ( casgRecycle &recycle )
|
||||
@@ -73,9 +74,8 @@ void syncGroupReadNotify::completion (
|
||||
size_t size = dbr_size_n ( type, count );
|
||||
memcpy ( this->pValue, pData, size );
|
||||
}
|
||||
|
||||
this->idIsValid = false;
|
||||
this->sg.destroyIO ( *this );
|
||||
this->sg.completionNotify ( *this );
|
||||
}
|
||||
|
||||
void syncGroupReadNotify::exception (
|
||||
|
||||
@@ -34,21 +34,23 @@
|
||||
#include "syncGroup.h"
|
||||
#include "oldAccess.h"
|
||||
|
||||
syncGroupWriteNotify::syncGroupWriteNotify ( CASG &sgIn, chid pChan, unsigned type,
|
||||
arrayElementCount count, const void *pValueIn ) :
|
||||
syncGroupWriteNotify::syncGroupWriteNotify ( CASG & sgIn, chid pChan ) :
|
||||
syncGroupNotify ( sgIn, pChan )
|
||||
{
|
||||
pChan->write ( type, count, pValueIn, *this, &this->id );
|
||||
}
|
||||
|
||||
void syncGroupWriteNotify::begin ( unsigned type,
|
||||
arrayElementCount count, const void * pValueIn )
|
||||
{
|
||||
this->chan->write ( type, count, pValueIn, *this, &this->id );
|
||||
this->idIsValid = true;
|
||||
}
|
||||
|
||||
syncGroupWriteNotify * syncGroupWriteNotify::factory (
|
||||
tsFreeList < class syncGroupWriteNotify, 128 > &freeList,
|
||||
struct CASG &sg, chid chan, unsigned type,
|
||||
arrayElementCount count, const void *pValueIn )
|
||||
struct CASG &sg, chid chan )
|
||||
{
|
||||
return new ( freeList ) syncGroupWriteNotify ( sg, chan, type,
|
||||
count, pValueIn);
|
||||
return new ( freeList ) syncGroupWriteNotify ( sg, chan );
|
||||
}
|
||||
|
||||
void syncGroupWriteNotify::destroy ( casgRecycle & recycle )
|
||||
@@ -67,9 +69,8 @@ void syncGroupWriteNotify::completion ()
|
||||
this->sg.printf ( "cac: sync group io_complete(): bad sync grp op magic number?\n" );
|
||||
return;
|
||||
}
|
||||
|
||||
this->idIsValid = false;
|
||||
this->sg.destroyIO ( *this );
|
||||
this->sg.completionNotify ( *this );
|
||||
}
|
||||
|
||||
void syncGroupWriteNotify::exception (
|
||||
|
||||
Reference in New Issue
Block a user