You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
Reported by Kay Kasemir:
I think I found the problem in driver.py:
def writeNotify(self, context, value):
success = self.writeValue(value)
# do asynchronous only if PV supports
if success and self.info.asyn:
# async write will finish later
self.startAsyncWrite(context)
In response to a "caput -c …", it will
1) Call writeValue(), i.e. eventually my write implementation
2) startAsyncWrite()
If my write operation takes a long time before invoking callbackPV(), all is
fine.
But our write operations don't always take a long time. They may in fact be
very fast, but we need the put-callback for instrument control to assert that
the operation really finished.
So if my write finished quickly, it will in step one already call callbackPV()
before the startAsyncWrite() in step 2 created it.
Needs to be somewhat like this:
def writeNotify(self, context, value):
if self.info.asyn:
self.startAsyncWrite(context)
success = self.writeValue(value)
…
Original issue reported on code.google.com by xiaoqian...@gmail.com on 16 Sep 2014 at 12:21
The text was updated successfully, but these errors were encountered:
Original issue reported on code.google.com by
xiaoqian...@gmail.com
on 16 Sep 2014 at 12:21The text was updated successfully, but these errors were encountered: