clean server test

This commit is contained in:
Matej Sekoranja
2011-03-01 22:52:44 +01:00
parent 43763781d7
commit b6b859d8c3
4 changed files with 38 additions and 23 deletions

View File

@@ -3443,7 +3443,7 @@ namespace epics {
m_broadcastPort(CA_BROADCAST_PORT), m_receiveBufferSize(MAX_TCP_RECV), m_timer(0),
m_broadcastTransport(0), m_searchTransport(0), m_connector(0), m_transportRegistry(0),
m_namedLocker(0), m_lastCID(0), m_lastIOID(0), m_channelSearchManager(0),
m_version(new Version("CA Client", "cpp", 0, 0, 0, 1)),
m_version(new Version("CA Client", "cpp", 1, 0, 0, 0)),
m_provider(new ChannelProviderImpl(this)),
m_contextState(CONTEXT_NOT_INITIALIZED), m_configuration(new SystemConfigurationImpl()),
m_refCount(1)

View File

@@ -119,7 +119,7 @@ private:
/**
* Destroy state.
*/
boolean _destroyed;
bool _destroyed;
/**
* Mutex

View File

@@ -8,11 +8,11 @@
namespace epics { namespace pvAccess {
const char* ServerContextImpl::StateNames[] = { "NOT_INITIALIZED", "INITIALIZED", "RUNNING", "SHUTDOWN", "DESTROYED"};
const int32 ServerContextImpl::VERSION_MAJOR = 2;
const int32 ServerContextImpl::VERSION_MINOR = 0;
const int32 ServerContextImpl::VERSION_MAJOR = 0;
const int32 ServerContextImpl::VERSION_MINOR = 9;
const int32 ServerContextImpl::VERSION_MAINTENANCE = 0;
const int32 ServerContextImpl::VERSION_DEVELOPMENT = 0;
const Version ServerContextImpl::VERSION("Channel Access Server in C++", "C++",
const Version ServerContextImpl::VERSION("CA Server", "cpp",
ServerContextImpl::VERSION_MAJOR,
ServerContextImpl::VERSION_MINOR,
ServerContextImpl::VERSION_MAINTENANCE,
@@ -21,8 +21,8 @@ const Version ServerContextImpl::VERSION("Channel Access Server in C++", "C++",
ServerContextImpl::ServerContextImpl():
_state(NOT_INITIALIZED),
_beaconAddressList(""),
_ignoreAddressList(""),
_beaconAddressList(),
_ignoreAddressList(),
_autoBeaconAddressList(true),
_beaconPeriod(15.0),
_broadcastPort(CA_BROADCAST_PORT),
@@ -59,7 +59,7 @@ const Version& ServerContextImpl::getVersion()
void ServerContextImpl::initializeLogger()
{
createFileLogger("serverContextImpl.log");
//createFileLogger("serverContextImpl.log");
}
Configuration* ServerContextImpl::getConfiguration()
@@ -328,10 +328,11 @@ void ServerContextImpl::destroyAllTransports()
}
int32 size;
auto_ptr<Transport*> transports(_transportRegistry->toArray(size));
Transport** transports = _transportRegistry->toArray(size);
if (size == 0)
{
delete[] transports;
return;
}
@@ -339,7 +340,7 @@ void ServerContextImpl::destroyAllTransports()
for (int i = 0; i < size; i++)
{
Transport* transport = transports.get()[i];
Transport* transport = transports[i];
try
{
transport->close(true);
@@ -355,6 +356,8 @@ void ServerContextImpl::destroyAllTransports()
errlogSevPrintf(errlogMajor, "Unhandled exception caught from client code at %s:%d.", __FILE__, __LINE__);
}
}
delete[] transports;
}
void ServerContextImpl::printInfo()

View File

@@ -62,7 +62,7 @@ class GetFieldRequesterImpl : public GetFieldRequester
virtual void getDone(const epics::pvData::Status& status,epics::pvData::FieldConstPtr field)
{
std::cout << "getDone(" << status.toString() << ", ";
if (field)
if (status.isSuccess() && field)
{
String str;
field->toString(&str);
@@ -99,7 +99,7 @@ class ChannelGetRequesterImpl : public ChannelGetRequester
epics::pvData::PVStructure *pvStructure,epics::pvData::BitSet *bitSet)
{
std::cout << "channelGetConnect(" << status.toString() << ")" << std::endl;
if (pvStructure)
if (status.isSuccess())
{
String st;
pvStructure->toString(&st);
@@ -117,7 +117,7 @@ class ChannelGetRequesterImpl : public ChannelGetRequester
{
std::cout << "getDone(" << status.toString() << ")" << std::endl;
Lock guard(m_mutex);
if (m_pvStructure)
if (status.isSuccess())
{
String str;
m_pvStructure->toString(&str);
@@ -157,7 +157,7 @@ class ChannelPutRequesterImpl : public ChannelPutRequester
virtual void getDone(const epics::pvData::Status& status)
{
std::cout << "getDone(" << status.toString() << ")" << std::endl;
if (m_pvStructure)
if (status.isSuccess())
{
String str;
m_pvStructure->toString(&str);
@@ -169,7 +169,7 @@ class ChannelPutRequesterImpl : public ChannelPutRequester
virtual void putDone(const epics::pvData::Status& status)
{
std::cout << "putDone(" << status.toString() << ")" << std::endl;
if (m_pvStructure)
if (status.isSuccess())
{
String str;
m_pvStructure->toString(&str);
@@ -182,6 +182,12 @@ class ChannelPutRequesterImpl : public ChannelPutRequester
class ChannelPutGetRequesterImpl : public ChannelPutGetRequester
{
public:
ChannelPutGetRequesterImpl() : m_channelPutGet(0), m_putData(0), m_getData(0) {};
private:
ChannelPutGet *m_channelPutGet;
epics::pvData::PVStructure *m_putData;
epics::pvData::PVStructure *m_getData;
@@ -224,7 +230,7 @@ class ChannelPutGetRequesterImpl : public ChannelPutGetRequester
virtual void getGetDone(const epics::pvData::Status& status)
{
std::cout << "getGetDone(" << status.toString() << ")" << std::endl;
if (m_getData)
if (status.isSuccess())
{
String str;
m_getData->toString(&str);
@@ -236,7 +242,7 @@ class ChannelPutGetRequesterImpl : public ChannelPutGetRequester
virtual void getPutDone(const epics::pvData::Status& status)
{
std::cout << "getPutDone(" << status.toString() << ")" << std::endl;
if (m_putData)
if (status.isSuccess())
{
String str;
m_putData->toString(&str);
@@ -248,7 +254,7 @@ class ChannelPutGetRequesterImpl : public ChannelPutGetRequester
virtual void putGetDone(const epics::pvData::Status& status)
{
std::cout << "putGetDone(" << status.toString() << ")" << std::endl;
if (m_putData)
if (status.isSuccess())
{
String str;
m_putData->toString(&str);
@@ -280,7 +286,7 @@ class ChannelRPCRequesterImpl : public ChannelRPCRequester
epics::pvData::PVStructure *pvStructure,epics::pvData::BitSet *bitSet)
{
std::cout << "channelRPCConnect(" << status.toString() << ")" << std::endl;
if (pvStructure)
if (status.isSuccess())
{
String st;
pvStructure->toString(&st);
@@ -296,7 +302,7 @@ class ChannelRPCRequesterImpl : public ChannelRPCRequester
virtual void requestDone(const epics::pvData::Status& status,epics::pvData::PVStructure *pvResponse)
{
std::cout << "requestDone(" << status.toString() << ")" << std::endl;
if (pvResponse)
if (status.isSuccess())
{
String str;
pvResponse->toString(&str);
@@ -308,6 +314,12 @@ class ChannelRPCRequesterImpl : public ChannelRPCRequester
class ChannelArrayRequesterImpl : public ChannelArrayRequester
{
public:
ChannelArrayRequesterImpl() : m_channelArray(0), m_pvArray(0) {};
private:
ChannelArray *m_channelArray;
epics::pvData::PVArray *m_pvArray;
@@ -325,7 +337,7 @@ class ChannelArrayRequesterImpl : public ChannelArrayRequester
epics::pvData::PVArray *pvArray)
{
std::cout << "channelArrayConnect(" << status.toString() << ")" << std::endl;
if (pvArray)
if (status.isSuccess())
{
String st;
pvArray->toString(&st);
@@ -340,7 +352,7 @@ class ChannelArrayRequesterImpl : public ChannelArrayRequester
virtual void getArrayDone(const epics::pvData::Status& status)
{
std::cout << "getArrayDone(" << status.toString() << ")" << std::endl;
if (m_pvArray)
if (status.isSuccess())
{
String str;
m_pvArray->toString(&str);
@@ -375,7 +387,7 @@ class MonitorRequesterImpl : public MonitorRequester
virtual void monitorConnect(const epics::pvData::Status& status, Monitor* monitor, Structure* structure)
{
std::cout << "monitorConnect(" << status.toString() << ")" << std::endl;
if (structure)
if (status.isSuccess() && structure)
{
String str;
structure->toString(&str);