This website uses cookies. By clicking Accept, you consent to the use of cookies. Click Here to learn more about how we use cookies.
Turn on suggestions
Auto-suggest helps you quickly narrow down your search results by suggesting possible matches as you type.
- Revenera Community
- :
- FlexNet Publisher
- :
- FlexNet Publisher Knowledge Base
- :
- LM_A_CHECKOUTFILTER Feature Documentation Clarification
Subscribe
- Mark as New
- Mark as Read
- Subscribe
- Printer Friendly Page
- Report Inappropriate Content
LM_A_CHECKOUTFILTER Feature Documentation Clarification
LM_A_CHECKOUTFILTER Feature Documentation Clarification
Throwing light on the Statement "When you use the callback function, disable automatic heartbeat and execute with manual heartbeat to avoid deadlocks " mentioned in the Product Documentation of FNP (fnp_PR-LF.pdf/pg.135 )
LM_A_CHECKOUTFILTER
- The function pointer LM_A_CHECKOUTFILTER (or the extended version, LM_A_CHECKOUTFILTER_EX) is set to point to a checkout filter callback function. This filter function is invoked each time lc_checkout finds a FEATURE/INCREMENT line that is a candidate for fulfilling the license request.
- Candidates are selected based on the feature name.
This filter provides the application the opportunity to examine the FEATURE/INCREMENT line before lc_checkout processes it, and either allows lc_checkout to proceed processing the line or rejects this particular line. lc_checkout may still reject the line even though the filter function allows processing to proceed. - The LM_A_CHECKOUTFILTER routine is called as follows:
status = (*myCheckoutFilter)(config);
or, with LM_A_CHECKOUTFILTER_EX:
status = (*myCheckoutFilterEx)(job, config, vendor_data);
Explanation of the Note
- The statement here is an historical update made in the document.
- In the past there were issues seen in and around deadlock scenarios where automatic heartbeat had been executed before the checkout procedure could get completed .
- Checkout filter callback is part of checkout request code flow.
- Having these apprehension in mind it is proposed to use manual heartbeat with Checkout filter.
Labels (5)
No ratings
Comments
Oct 05, 2020
03:14 PM
- Mark as Read
- Mark as New
- Permalink
- Report Inappropriate Content
Oct 05, 2020
03:14 PM
Is there a category of functions that can be safely called from within the callback, or is the issue due to the possibility of the callback returning non-zero, thus interrupting the normal checkout flow? In other words, does the possibility of a deadlock depend on what the callback does (in addition to possibly returning non-zero)?