Jump to content

"Wait for All Notifications" should be reentrant


Jim Kring

Recommended Posts

[CAR 45BGR0J1]

The following VIs should obviously be reentrant (but they are not), in order for two parallel calls to work as expected:

<LabVIEW>\vi.lib\utility\Wait for All Notifcations.llb\Wait for All Notifications Sub.vi

<LabVIEW>\vi.lib\Utility\Wait for All Notifcations.llb\Wait for All Notifications.vi

Link to comment
This was reported to R&D (#45BGR0J1) for further investigation. It will be fixed in the next full release of LV.

It's nice to have a "non official but obviously fast and reliable mechanism with semi direct access to the developers for bug reporting" here :)

Thank you Stephen :)

Link to comment

Kring has posted a tidal wave of bugs against this VI.

http://forums.lavag.org/index.php?showtopic=5780

http://forums.lavag.org/index.php?showtopic=5807

http://forums.lavag.org/index.php?showtopic=5804

http://forums.lavag.org/index.php?showtopic=5802

I'll ask the original author of the VI to take a long hard look at it and see if the example can be improved. I do own the Notifier primitives, but this particular example was written by someone else -- I asked that it be included in the shipping LV because the functionality gets asked for from time to time.

Link to comment
I'll ask the original author of the VI to take a long hard look at it and see if the example can be improved. I do own the Notifier primitives, but this particular example was written by someone else -- I asked that it be included in the shipping LV because the functionality gets asked for from time to time.

Stephen,

Thanks for pushing things forward on your side. One more thing... the description of the "notifiers out" indicator (which is shown in the context menu when you hover over the indicator) states: "notifiers out is the entire array of notifiers in, unless an error occurs. If an error occurs, notifiers out contains only those notifier refnums that caused the error." However, this is not the actual (or the desired, IMO) behavior. If some notifiers are received before the error occurs (for example, if one notifier becomes invalid after others are received), then the notifiers and notifications received should be output to "notifiers out" and "notifications" (respectively). I don't think that it is entirely possible to know which notifiers caused the error, since the "Wait on Notification from Multiple" primitive does not tell you which notifier generated the error. We could infer which notifiers caused the error by checking if any of them are Not a Refnum. But, in any case, the user of this VI could make this check, themselves, if an error did occur. If this VI does actually need to output an array of notifiers that caused the error, then I would prefer if this were an additional output ("notifiers with errors") and we used "notifiers out" to contain the notifiers that were actually fired.

Thanks a million!

Link to comment

Join the conversation

You can post now and register later. If you have an account, sign in now to post with your account.

Guest
Reply to this topic...

×   Pasted as rich text.   Paste as plain text instead

  Only 75 emoji are allowed.

×   Your link has been automatically embedded.   Display as a link instead

×   Your previous content has been restored.   Clear editor

×   You cannot paste images directly. Upload or insert images from URL.

×
×
  • Create New...

Important Information

By using this site, you agree to our Terms of Use.