Client Cached License Data

I believe one of our engineers spoke to Wyatt earlier about this situation, and we have now been able to reproduce it. The symptom was that a client was getting stale data in their license data, causing issues interacting with our system.

A little about our setup: we are using the single LimeLM product for multiple applications mode of licensing, so we are aware we are blurring the lines in this regard. We are using LimeLM 4.0.9.4, statically linked in C++.

In this scenario, one application starts a second application, and both are trying to interrogate the LimeLM license data at the same time. When timed correctly, we *believe* that the first application's instance is calling the LimeLM servers, and the second instance gets the previously cached license data - this is as expected.

Where it gets weird is that even though the second application gets updated license information from LimeLM, as reflected in our logging, the first application's now-stale data persists. Even if both applications are closed, the next application launched gets the stale data, rather than the updated data.

This may all be as designed, and simply an issue we are facing because of how we've chosen to license our applications. At the moment our plan is to implement a system-level mutex to prevent multiple of our applications from trying to query the license data simultaneously. However, if there is a preferred solution, we are certainly interested.