Edge Rewrite
// HTMLRewriter · presentation

This page was redesigned at the edge.

Cloudflare fetched the original article and streamed it through HTMLRewriter to apply an entirely new visual system without rebuilding the source page.

Jump to content

Talk:Spawn (computing)

Page contents not supported in other languages.
Add topic
From Wikipedia, the free encyclopedia
Latest comment: 9 months ago by Guy Harris in topic Possibly-bogus claims about spawn* in Windows

Spawn functions are not unique to Windows

[edit]

Microsoft Windows OSs are not the only ones that provide an spawn function in order to launch new processes, i.e.: OpenVMS, OS/400

I removed the comment that 'the rest of this article is about the Microsoft Windows spawn functions' and changed heading levels to collect the Windows parts under an L2 heading so we can add other L2 headings for different OSes. RJFJR (talk) 13:10, 13 August 2011 (UTC)Reply

Possibly-bogus claims about spawn* in Windows

[edit]

Spawn (computing) § envp claims that

Under Microsoft Windows, the spawn* functions use LoadModule to run the spawned process; and if this fails, an attempt is made to spawn a normal MS-DOS process. If a Windows application is spawned, the instance handle can be obtained using exec_instancehandleget. It is possible to specify how the spawned program will be shown using the functions _exec_showset, _exec_showget, and _exec_showreset.

First, a quick look at the Universal C Runtime source seems to indicate that the spawn* functions use Boring Old CreateProcess(). I'm not sure why, in effect, reinventing CreateProcess() is something that the spawn* functions would need to do.

Second, what is "a normal MS-DOS process" in 32-bit and 64-bit Windows?

Third, I'm not finding exec_instancehandleget() in any Windows documentation. A Google search for "exec_instancehandleget" (complete with the quotes, to ward off mismatches) found 1) a Wikibooks page, 2) this page, and 3) the process.h page in the Digital Mars C/C++ compiler documentation - https://www.digitalmars.com/rtl/process.html. That page, BTW, says something very similar to the quoted text above.

Is this really just talking about the Digital Mars C run-time library, with the Microsoft C library being different? Guy Harris (talk) 05:37, 14 October 2025 (UTC)Reply