Environment: AIX4-r1, NetView 7.1.3, set up as TEC Endpoint
I'm setting up TEC forwarding in Netview via a ruleset calling a perl script. The perl script does various things, sets up the event class / slots as required, and calls wpostzmsg. It used to use system() to call it so I could track the result, but now I fork() the program, and use exec() in the child so I can watch the child from the parent program.
So, to the questions / issues:
1) The documentation I read said that I should use wpostzmsg as it was effectively the replacement for wpostemsg - any comments on that? Am I right to do this?
2) Most event forwarding is just fine. Some of the wpostzmsg calls however, end up as hung processes - and hang the parent perl process too, despite it having a timed SIGALRM that will attempt to kill the child process and itself after 2 minutes.
3) Some calls result in a core dump. Calling it repeatedly from the command line sometimes gives this:
Illegal instruction(coredump) wpostzmsg -m "Test" TEST_CLASS TEST_SOURCE
Has anybody else seen this? I can reproduce the hung processes and coredumps (mixture thereof) as well as some successful sends at the command line by issuing "wpostmsg -m "Test" TEST_CLASS TEST_SOURCE &" repeatedly so that there is more than one process running concurrently.
It would seem then that there is an issue with the volume of wpostzmsg calls - but surely this is something that wpostzmsg was designed for? I can't imagine I have to attempt some kind of lock process to ensure that my scripts only ever call wpostzmsg one at a time?
Comments and advice gratefully received, as I'm getting bored of running my "reap zombie processes" shell script!
Many thanks,
John.