From 6ea736d0ed62a79f0d79a1421450fff785cf01ed Mon Sep 17 00:00:00 2001 From: Marty Kraimer Date: Tue, 5 Aug 2003 16:03:02 +0000 Subject: [PATCH] put notify did not act properly if a record had disp=TRUE --- src/db/dbNotify.c | 8 ++++++++ src/db/dbNotify.h | 3 ++- 2 files changed, 10 insertions(+), 1 deletion(-) diff --git a/src/db/dbNotify.c b/src/db/dbNotify.c index 5ba0edce6..7bd0af475 100644 --- a/src/db/dbNotify.c +++ b/src/db/dbNotify.c @@ -201,6 +201,14 @@ void epicsShareAPI dbPutNotify(putNotify *ppn) long status=0; assert(precord); + /*check for putField disabled*/ + if(precord->disp) { + if((void *)(&precord->disp) != ppn->paddr->pfield) { + ppn->status = putNotifyPutDisabled; + (*ppn->userCallback)(ppn); + return; + } + } /* Must handle DBF_XXXLINKs as special case. * Only dbPutField will change link fields. * Also the record is not processed as a result diff --git a/src/db/dbNotify.h b/src/db/dbNotify.h index f654166c7..a14faed8e 100644 --- a/src/db/dbNotify.h +++ b/src/db/dbNotify.h @@ -32,7 +32,8 @@ typedef struct ellCheckNode{ typedef enum { putNotifyOK, putNotifyCanceled, - putNotifyError + putNotifyError, + putNotifyPutDisabled }putNotifyStatus; typedef struct putNotify{