Home Corporate Contacts

TETware Knowledgebase




Return to Knowledgebase Index

18. Problems with SIGCHLD in the Perl API

This information is not applicable to Win32 systems.



When executing a perl API test, I'm running into problems with the TCM and SIGCHLD when I invoke other processes via the perl system() call. After the system() function completes, the test aborts due to receipt of the SIGCHLD signal.

I tried adding @tet'sig_ignore(18) to my code, but apparently SIGCHLD is considered an uncatchable signal by tcm.pl.



This is correct - if a TCM catches SIGCHLD it can't reap child processes correctly (as you have observed).

The setting up of the signal lists in the perl API is performed by a configuration script when the API is installed. By default, the TCM catches all the signals not in the special signal list. One reason for the behaviour that you have observed might be that some problem during installation has prevented the list from being set up correctly. Or you might be using a copy of the perl API that has been configured for use on another machine where SIGCHLD has a different numerical value.

You should try reinstalling the perl API from the source and configuring it on your machine.


See also

  • "Building TETware'' in the TETware Installation Guide for UNIX Operating Systems.


Home Contacts Legal Copyright Corporate News

Copyright © The Open Group 1995-2012, All Rights Reserved