Hi,
For integrity, The garbage collection process requires that the Pike global interpreter lock be held. This implies that all threads hold this lock in their turn while executing. Is this a single (intra-)Process lock, or a cross (inter-) Process lock.
To put the question another way, does the lock span process boundries, or just threads within a Pike Process?
Will this locking single-thread Pike execution in a Multi-Process environment?
Frank
The interpreter lock is not only for garbage protection but for the consistency of just about anything. It covers all data that is accessible from the pike interpreter, so it affects all threads in the same process. (Normal data can't be put in shared memory - objects that allows that must have their own locking.)
It's conceivable that we some day allow several interpreters in the same process, and then each one would have a lock for its own data set.
/ Martin Stjernholm, Roxen IS
Previous text:
2003-10-21 22:24: Subject: Pike Interpreter Lock
Hi,
For integrity, The garbage collection process requires that the Pike global interpreter lock be held. This implies that all threads hold this lock in their turn while executing. Is this a single (intra-)Process lock, or a cross (inter-) Process lock.
To put the question another way, does the lock span process boundries, or just threads within a Pike Process?
Will this locking single-thread Pike execution in a Multi-Process environment?
Frank
/ Brevbäraren
pike-devel@lists.lysator.liu.se