Thanks for the suggestion about dumping the @results array. That did help. Well, sort of. It made me more confused, actually. In the find_thread routine, I added a line before the return:
print "find_thread dump $dir: " . Dumper(@results) . "\n";I then run my script 10 times dumping the results to a 10 files. What I am finding is that the dump of @results can sometimes have output that is from another directory entirely. For example:
find_thread dump /vobs/doc: $VAR1 = '/vobs/license_manager/install/LMInstall/LM_Install.iap_xml@@/ +main/v4.0.0_gxp_patch/0'; $VAR2 = '/vobs/license_manager/install/LMInstall/LM_Install.iap_xml@@/ +main/v4.0.0_gxp_patch/1'; $VAR3 = '/vobs/license_manager/install/LMInstall/LM_Install.iap_xml@@/ +main/v4.0.0_gxp_patch/2'; $VAR4 = '/vobs/license_manager/install/LMInstall/LM_Install.iap_xml@@/ +main/v4.0.0_gxp_patch/3'; SIZE /vobs/doc: 4 find_thread dump /vobs/drs: $VAR1 = '/vobs/license_manager/install/LMInstall/LM_Install.iap_xml@@/ +main/v4.0.0_gxp_patch/0'; $VAR2 = '/vobs/license_manager/install/LMInstall/LM_Install.iap_xml@@/ +main/v4.0.0_gxp_patch/1'; $VAR3 = '/vobs/license_manager/install/LMInstall/LM_Install.iap_xml@@/ +main/v4.0.0_gxp_patch/2'; $VAR4 = '/vobs/license_manager/install/LMInstall/LM_Install.iap_xml@@/ +main/v4.0.0_gxp_patch/3'; SIZE /vobs/drs: 4
Which is totally confusing. @results is local to find_thread and shouldn't know anything about the other threads. What is even weirder is that when I switch to not use ClearCase find, and just find directories on the system, it seems to all work fine. So at this point, I am thinking that spawning multiple ClearCase find commands at once is causing an issue. I'll take it up with IBM.
In reply to Re^2: creating unknown number of threads and then join results
by rudds_perl_habit
in thread creating unknown number of threads and then join results
by rudds_perl_habit
| For: | Use: | ||
| & | & | ||
| < | < | ||
| > | > | ||
| [ | [ | ||
| ] | ] |