From d5c5baad834a2d61e94256a37e3e020bc88ff2c7 Mon Sep 17 00:00:00 2001 From: Jeff Hill Date: Tue, 28 May 2002 23:49:31 +0000 Subject: [PATCH] fixed race condition occuring when a put notify is canceled by a ca clear channel at the same instant that it completes --- RELEASE_NOTES.html | 9 ++++++++- src/rsrv/camessage.c | 4 +++- 2 files changed, 11 insertions(+), 2 deletions(-) diff --git a/RELEASE_NOTES.html b/RELEASE_NOTES.html index 4b6ecb084..8f088dd32 100644 --- a/RELEASE_NOTES.html +++ b/RELEASE_NOTES.html @@ -49,11 +49,18 @@ occur when recGblGetTimeStamp is called.

calcoutRecord

nsev not sevr must be checked to decide if dbPutLink should be called.

+

This is now fixed

calcPerform

-

This now returns a non zero value if the result is nan (not a number).

:wq +

This now returns a non zero value if the result is nan (not a number).

+ +

CA server (rsrv)

+ +

Fixed race condition occuring when a put notify is canceled by a ca clear +channel at the same instant that it completes. This problem was introduced in +R3.13.5.

Changes since 3.13.5

diff --git a/src/rsrv/camessage.c b/src/rsrv/camessage.c index 20a17e06b..63ac7ede6 100644 --- a/src/rsrv/camessage.c +++ b/src/rsrv/camessage.c @@ -1355,7 +1355,9 @@ void write_notify_reply(void *pArg) */ FASTLOCK(&pClient->putNotifyLock); ppnb = (RSRVPUTNOTIFY *)ellGet(&pClient->putNotifyQue); - ppnb->onExtraLaborQueue = FALSE; + if ( ppnb ) { + ppnb->onExtraLaborQueue = FALSE; + } FASTUNLOCK(&pClient->putNotifyLock); /* * break to loop exit