develooper Front page | perl.perl5.porters | Postings from December 2003

[perl #24731] Fork/ Thread in windows 2003 server 64 Bit

Thread Next
Beissinger Tobias
December 23, 2003 20:18
[perl #24731] Fork/ Thread in windows 2003 server 64 Bit
Message ID:
# New Ticket Created by  Beissinger Tobias 
# Please include the string:  [perl #24731]
# in the subject line of all future correspondence about this issue. 
# <URL: >


I think there is a bug in fork in windows server 2003 64-Bit on an IA64 Platform (Itanium 2). 
I tried these perls: ActiveState 5.8, Stable 5.8, Developer 5.9

The code affected is:

if ($pid=fork()) {
else {
   exec "perl $0"; #start my prog again and "close" the child immediatly

I use this code to generate multiple sessions on a database (it's part of my diploma thesis).

The exec also kills the #mainprog section. 

The code works fine and as expected under Suse Linux 8.0, 8.1, 8.2, HP-UX 11.20, 11.22, 11.23, Windows XP Professional SP1.
I would prefer exec rather than system because I want totally independent instances of my testscript (Many different users do many different actions). For me that's the only way to do it ( or you tell me how to fork up to 500 instances).

I also tried to encapsulate the exec in a "sub restart" and to start this as a thread (use thread, thread->new...), but it has the same effect, even if I additionally fork in that sub:

Sub restart {
  if ($pid=fork()) {
    return; } #ok, that's unorthodox, but it worked
  else {exec $0; }

Mit freundlichen Grüßen/ Kind regards

Tobias Beissinger
Siemens VDO Automotive AG
Tel.: 0941/ 790 - 9823

Thread Next Perl Programming lists via nntp and http.
Comments to Ask Bjørn Hansen at | Group listing | About