diff --git a/src/ca/syncGroupReadNotify.cpp b/src/ca/syncGroupReadNotify.cpp index 5a51c8df5..437f14f59 100644 --- a/src/ca/syncGroupReadNotify.cpp +++ b/src/ca/syncGroupReadNotify.cpp @@ -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 ( diff --git a/src/ca/syncGroupWriteNotify.cpp b/src/ca/syncGroupWriteNotify.cpp index 29d42cc7f..a7938ca5e 100644 --- a/src/ca/syncGroupWriteNotify.cpp +++ b/src/ca/syncGroupWriteNotify.cpp @@ -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 (