KBEA-00011 - Ensuring an application does not run multiple concurrent instances

Article ID:360032828752
1 minute readKnowledge base
On this page

Summary

An application that is part of a cluster build fails when multiple concurrent instances are run on an agent.

Solution

Beginning with ElectricAccelerator, version 4.5, a new unsupported utility application, "eclock.exe," is available. eclock wraps the target application and permits only one instance of the target application to run. eclock waits until the other instance terminates before allowing the target application to continue.

For example:
eclock.exe vb6.exe /make Myproject.vbp

eclock uses named mutexes to perform locking. The default mutex name is the target application. This can be changed by passing "/mutex " on the command line (must be the first parameter), or setting ECLOCK_MUTEX in the environment. To debug eclock, set ECLOCK_DEBUG=true (sends debug to stdout), or set ECLOCK_DEBUG_LOG= (sends debug to specified log file)

Examples

VB6.exe suffers this problem when custom controls (OCXs) are created and used during the build. When using OCXs, VB6 generates OCAs and registry entries, some of which are in the registry root. Use of "eclock.exe" on all VB6 calls fixed the issue.

Applies to

  • OS versions: Windows