TLM: Wait for a free floating license seat

02-Dec-2024

Newer products

In TASKING products built with TLM v1.5r1 or higher (released after March 2023), you can set the TSK_LICENSE_WAIT option in licopt.txt to a configurable time period to wait for a free license seat to become available instead of directly terminating when a license request is denied.

To wait for a free license, set the license retry time-out (default: none) in licopt.txt.

TSK_LICENSE_WAIT[=sec]

When a request for a floating license is denied because no free seats are available or the license server is unresponsive then the license request(s) will be retried for a maximum of sec seconds or until a seat becomes available. If sec is 0 or =sec is omitted, an unlimited number of retries will be used.

See the release note of the respective TASKING product for the availability of this feature. For example, products that support this feature are SmartCode v10.2r1 or higher, Arm v7.0r1 or higher, TriCore v6.3r1 patch 9 or later (only for the executables that are changed in the patch).


Possible solution for older products

In TASKING products released before March 2023, the TLM licensing system does not include a feature to wait for a free floating license seat. If all available license seats are in use, the licensing system will issue an error message indicating that no free license seats are available, and the build will not start.

To avoid a build failure, you can create a batch file that contacts the TLM license server, for example, every 20 seconds to check for a free license seat until one becomes available. An example content of the batch file is provided below:

:loop
ctc -V
if %errorlevel%==1 goto build
timeout 20
goto loop
:build
echo add makefile call here

This batch file example is for a use case where the PATH environment variable already includes the path to the directory containing the C compiler executable. The example is for the TriCore product, and the C compiler executable name is ctc.exe. If the PATH environment variable does not include the entry for the ctc\bin sub-directory where ctc.exe is located, the path entry must be added to the invocation. For example:

"C:\Program Files\TASKING\TriCore v6.3r1\ctc\bin\ctc" -V


More resources

Was this answer helpful?