[#144] Another implementation of Bignum — "Dmitry Antipov" <dmitry.antipov@...>

Hello Ruby hackers,

15 messages 2002/06/06

Re: Steps to get multiple interpreters per process...

From: Sean Chittenden <sean@...>
Date: 2002-06-25 01:50:45 UTC
List: ruby-core #188
> |Can someone chart out what would need to happen to get multiple
> |ruby interpreters per process that way myself and others can do the
> |leg work?  -sc
> 
> We have to list all global variables and pack everything into a
> interpreter struct (like Perl guys did once).  YACC parser still
> uses globals, but it must be another story.

Makes sense.  What I don't fully understand (I've been staring at this
screen for too long and am about to go for a run, so bare with me) is:

*) Once the globals are contained in a struct, where will they live?
 In a global list that gets locked every time a new interpreter
 instance gets added to the process?

*) How will functions that need to make use of this structure identify
 which stuct in the list is theirs to play with?

As an after thought, once the globals are all contained, someone with
Win32 knowledge could easily implement a win32 fork call that uses
CreateProcess() and then pass only the data structure to the new
process.  I'm going off of what I've skimmed from the PostgreSQL guys,
but that'd put another nail in the cygwin coffin.

-sc

-- 
Sean Chittenden

In This Thread