000021503 - How to build RSA ACE/Server Authentication API application with correct thread library on Sun Solaris

Document created by RSA Customer Support Employee on Jun 16, 2016Last modified by RSA Customer Support Employee on Apr 21, 2017
Version 2Show Document
  • View in full screen mode

Article Content

Article Number000021503
Applies ToSun Solaris 2.8
Sun Solaris 2.9
RSA ACE/Agent 5.0.3 Authentication API
Built using link flag (-lthread) as demonstrated in the SDK sample Makefile.SunOS
IssueHow to build RSA ACE/Server Authentication API application with correct thread library on Sun Solaris
In large multi-threaded applications that utilize RSA ACE/Agent Authentication API, multiple threads may interfere with each other, e.g. reading and writing the same sockets
CauseLinking with the Sun Solaris thread library causes the RSA ACE/Agent Authentication API ACEInitialize fork() call to copy all parent process threads to the forked child process. This can cause undesirable access to the same system resources by the the parent and child process.
ResolutionLinking with -lpthread (POSIX thread library) rather than or in addition to -lthread causes the OS to utilize fork1() when an application calls fork(). fork1() copies only the calling thread to the forked child process.

Reference 'man fork' on Sun Solaris for more information.
Legacy Article IDa23292

Attachments

    Outcomes