make tests
fails in function testIsActive of file Test_UnixProcess.F90, producing the message "huh". The failure occurs consistently on RHEL7 platforms that I have tested, but it seems to work on RHEL6.
I suspected that the background process was taking too long to die after the function process%terminate()
returned. So I added a delay before the line assertFalse(process%isActive(),'huh')
, and that fixed the problem. Please see the attached patch for details. My code uses Fortran intrinsics to avoid launching another process.
This problem could affect platforms other than RHEL7, because the kill
command used by process%terminate()
is not guaranteed to terminate the process before it returns. Perhaps it just takes longer for processes to die on RHEL7 than RHEL6 (at least on the machines I have tested).
Milton,
Thank you very much for isolating this and providing a patch. We'd seen the problem sporadically, but I'd never been able to replicate it in my development environment.
I should have time to look at your solution by Thursday, and if all looks good I'll push out a new version over the weekend.