Beefy Boxes and Bandwidth Generously Provided by pair Networks
Welcome to the Monastery

comment on

( [id://3333] : superdoc . print w/replies, xml ) Need Help??
Outside the world of perl (or cygwin), there isn't a fork on Windows. Unix has two primitives: fork (create new process identical to calling process) and exec (replace details of current process with those loaded from executable file).

Windows has one primitive: CreateProcess, which is roughly equivalent to fork-then-exec.

cygwin works around this with crazy mad black magic1, which manages to emulate fork on windows (slowly). The perlfork doc linked above shows perl's own answer to that (presumably used in Activestate and Strawberry perl but not cygwin).

1: Something like: use CreateProcess to start a compliant, suspended process. Use setjmp to save state, parent copies text and data into waiting child (and setjmp info). Child starts and longjmp's back to saved state. Plus some more shenanigans with copying the stack and heap once the child is running. And probably a lot more. Amazing they ever got it working.

In reply to Re: What is the difference between Windows fork an Unix fork ? by jbert
in thread What is the difference between Windows fork an Unix fork ? by tiny_tim

Use:  <p> text here (a paragraph) </p>
and:  <code> code here </code>
to format your post; it's "PerlMonks-approved HTML":

  • Are you posting in the right place? Check out Where do I post X? to know for sure.
  • Posts may use any of the Perl Monks Approved HTML tags. Currently these include the following:
    <code> <a> <b> <big> <blockquote> <br /> <dd> <dl> <dt> <em> <font> <h1> <h2> <h3> <h4> <h5> <h6> <hr /> <i> <li> <nbsp> <ol> <p> <small> <strike> <strong> <sub> <sup> <table> <td> <th> <tr> <tt> <u> <ul>
  • Snippets of code should be wrapped in <code> tags not <pre> tags. In fact, <pre> tags should generally be avoided. If they must be used, extreme care should be taken to ensure that their contents do not have long lines (<70 chars), in order to prevent horizontal scrolling (and possible janitor intervention).
  • Want more info? How to link or How to display code and escape characters are good places to start.