Prevent third-party library blocking of fatal signals
- Last Updated: January 26, 2026
- 2 minute read
- OpenEdge
- Version 12.8
- Documentation
pthread_sigmask() call to block signals for their own thread,
including fatal signals. The blocking of fatal signals in a thread prevents the PAS for
OpenEdge signal handler from handling them properly. Any fatal signal raised under such
conditions, results in the PAS for OpenEdge agent process disappearing without a trace.
This disappearance of the PAS for OpenEdge agent process can cause the following:- Long downtime and long effort for the technical support and engineering team to trace, understand, and resolve the error reported because of the disappearance of the agent process.
- Corruption and shutting down of database when the PAS for OpenEdge agent process is attached to shared memory for a database connection and one of the threads is in critical section code for the database.
The -DisallowFatalSignalBlock parameter, which prevents
pthread_sigmask() from blocking fatal signals, is effective for
UNIX systems only and does not accept any arguments. When you use this parameter, the
PAS for OpenEdge agent prevents calls to pthread_sigmask() from
attempting to block fatal signals such as SIGSEGV,
SIGBUS, SIGILL, and SIGFPE.
When an attempt is made to block any of these signals, the PAS for OpenEdge agent writes a message to the agent log file and the UNIX syslog.
The -DisallowFatalSignalBlock parameter enables the PAS for OpenEdge agent
process to prevent the fatal signals from being blocked. When the PASOE agent's thread,
which calls the pthread_sigmask(), receives a fatal signal, the PAS for
OpenEdge agent processes the fatal signal through its signal handler in a regular
manner.
You can dynamically update the -DisallowFatalSignalBlock property. Dynamic
changes affect only the new agents that are started after this value is changed.
For more information about agent startup parameter, see "agentStartupParam" property in the ABL session manager and session pool topic of the Manage Progress Application Server (PAS) for OpenEdge guide.