thrreads::shared: LEAVE in BOOT had wrong context
authorDavid Mitchell <davem@iabyn.com>
Mon, 20 Jan 2014 12:03:15 +0000 (12:03 +0000)
committerDavid Mitchell <davem@iabyn.com>
Mon, 20 Jan 2014 12:03:15 +0000 (12:03 +0000)
commit78f43036056af97e4b7556377cfdb68969aab8d4
tree42564ebe5e66a0ea96dfa1eb9c946c44e57a2ba6
parent20e5bab43efd0e449d0741f5c5a278e7e20ee9dc
thrreads::shared: LEAVE in BOOT had wrong context

In Perl_sharedsv_init() - which is called from the threads::shared BOOT
code - it creates a new shared interpreter, then tries to undo the ENTER
done as the last step of the perl_construct(PL_sharedsv_space) step, with
a LEAVE. But the LEAVE was being done in the context of the caller
interpreter rather than the shared one.

See the thread beginning <52D528FE.20701@havurah-software.org>
dist/threads-shared/shared.xs