From 56dae11a7fc5932c376ddccc0c2ee5e6df4a220d Mon Sep 17 00:00:00 2001 From: Marty Kraimer Date: Mon, 25 Sep 2000 12:50:59 +0000 Subject: [PATCH] better exception handler messages --- src/as/asCa.c | 29 +++++++++++++++++++++++++---- src/db/dbCa.c | 29 +++++++++++++++++++++++++---- 2 files changed, 50 insertions(+), 8 deletions(-) diff --git a/src/as/asCa.c b/src/as/asCa.c index cacbe5b86..425b6f176 100644 --- a/src/as/asCa.c +++ b/src/as/asCa.c @@ -62,12 +62,33 @@ static void exceptionCallback(struct exception_handler_args args) chid chid = args.chid; long stat = args.stat; /* Channel access status code*/ const char *channel; - static char *noname = "unknown"; + const char *context; + static char *unknown = "unknown"; + const char *nativeType; + const char *requestType; + long nativeCount; + long requestCount; + int readAccess; + int writeAccess; - channel = (chid ? ca_name(chid) : noname); + channel = (chid ? ca_name(chid) : unknown); + context = (args.ctx ? args.ctx : unknown); + nativeType = dbr_type_to_text((chid ? ca_field_type(chid) : -1)); + requestType = dbr_type_to_text(args.type); + nativeCount = (chid ? ca_element_count(chid) : 0); + requestCount = args.count; + readAccess = (chid ? ca_read_access(chid) : 0); + writeAccess = (chid ? ca_write_access(chid) : 0); - errlogPrintf("asCa:exceptionCallback stat %s channel %s\n", - ca_message(stat),channel); + errlogPrintf("dbCa:exceptionCallback stat \"%s\" channel \"%s\"" + " context \"%s\"\n" + " nativeType %s requestType %s" + " nativeCount %ld requestCount %ld %s %s\n", + ca_message(stat),channel,context, + nativeType,requestType, + nativeCount,requestCount, + (readAccess ? "readAccess" : "noReadAccess"), + (writeAccess ? "writeAccess" : "noWriteAccess")); } /*connectCallback only handles disconnects*/ diff --git a/src/db/dbCa.c b/src/db/dbCa.c index fdd9fd066..dc15cb8ad 100644 --- a/src/db/dbCa.c +++ b/src/db/dbCa.c @@ -417,12 +417,33 @@ static void exceptionCallback(struct exception_handler_args args) chid chid = args.chid; long stat = args.stat; /* Channel access status code*/ const char *channel; - static char *noname = "unknown"; + const char *context; + static char *unknown = "unknown"; + const char *nativeType; + const char *requestType; + long nativeCount; + long requestCount; + int readAccess; + int writeAccess; - channel = (chid ? ca_name(chid) : noname); + channel = (chid ? ca_name(chid) : unknown); + context = (args.ctx ? args.ctx : unknown); + nativeType = dbr_type_to_text((chid ? ca_field_type(chid) : -1)); + requestType = dbr_type_to_text(args.type); + nativeCount = (chid ? ca_element_count(chid) : 0); + requestCount = args.count; + readAccess = (chid ? ca_read_access(chid) : 0); + writeAccess = (chid ? ca_write_access(chid) : 0); - errlogPrintf("dbCa:exceptionCallback stat %s channel %s\n", - ca_message(stat),channel); + errlogPrintf("dbCa:exceptionCallback stat \"%s\" channel \"%s\"" + " context \"%s\"\n" + " nativeType %s requestType %s" + " nativeCount %ld requestCount %ld %s %s\n", + ca_message(stat),channel,context, + nativeType,requestType, + nativeCount,requestCount, + (readAccess ? "readAccess" : "noReadAccess"), + (writeAccess ? "writeAccess" : "noWriteAccess")); } static void eventCallback(struct event_handler_args arg)