Comment 5 for bug 1581212

Revision history for this message
Andrew Johnson (anj) wrote :

This is a ca_get(), so there is no db_field_log to store any posted data. For a monitor the fact that we unlock and re-lock the record between fetching the value and its attributes should only matter for strings, arrays, and the larger composite data types since nothing else should be able to modify the contents of our db_field_log object (I'm assuming that the monitor event has been pulled off the queue by this point so cached updates can't affect it any more). Thus for the smaller data types atomicity of monitors should always have been preserved.

Thanks for the discussion, I will apply this patch to 3.14. Has anyone already worked out what the correct changes will be for 3.15, since they are different? [Don't do so if you haven't already got them though].

I agree with Michael's latest comment that for 3.15 and later we should change dbChannel_get_count() to call dbChannelGet() instead, I'll make that adjustment as I merge the change up from 3.14.