[parrot/parrot] 87c6d5: Parrot's Test::More is not ready for threads (writ...
GitHub
noreply at github.com
Sun Mar 25 09:08:54 UTC 2012
Branch: refs/heads/threads
Home: https://github.com/parrot/parrot
Commit: 87c6d52c32496dd63440e805c3bf7d657e7dcc88
https://github.com/parrot/parrot/commit/87c6d52c32496dd63440e805c3bf7d657e7dcc88
Author: Stefan Seifert <nine at detonation.org>
Date: 2012-03-24 (Sat, 24 Mar 2012)
Changed paths:
M t/pmc/task.t
Log Message:
-----------
Parrot's Test::More is not ready for threads (writes to shared data)
Commit: cd053dcaa87aedb386cee6677b32b6c21be15931
https://github.com/parrot/parrot/commit/cd053dcaa87aedb386cee6677b32b6c21be15931
Author: Stefan Seifert <nine at detonation.org>
Date: 2012-03-24 (Sat, 24 Mar 2012)
Changed paths:
M config/gen/makefiles/root.in
M src/pmc.c
Log Message:
-----------
Fix Parrot_pmc_get_type_str when the class hash is a Proxy
Commit: fdb60a5f50b4be890ca0607125951e6a9d9350f1
https://github.com/parrot/parrot/commit/fdb60a5f50b4be890ca0607125951e6a9d9350f1
Author: Stefan Seifert <nine at detonation.org>
Date: 2012-03-24 (Sat, 24 Mar 2012)
Changed paths:
M src/thread.c
Log Message:
-----------
Don't create proxies for PMCNULL
Commit: 65e27042d9b5f7fe6ca1bfbb61a74065a993711e
https://github.com/parrot/parrot/commit/65e27042d9b5f7fe6ca1bfbb61a74065a993711e
Author: Stefan Seifert <nine at detonation.org>
Date: 2012-03-25 (Sun, 25 Mar 2012)
Changed paths:
M examples/threads/chameneos.pir
M src/ops/core_ops.c
M src/ops/experimental.ops
M src/pmc/scheduler.pmc
M src/pmc/task.pmc
M src/scheduler.c
M src/thread.c
M t/src/threads.t
Log Message:
-----------
Fix the wait op for threads
A task scheduled on another thread will get cloned to be local to this
thread. The two task objects are then linked by a "partner" pointer. To
wait for a task of another thread one now only has to add the current
task to the waiter list of the original task object.
A task will schedule its waiters when it is done and now will also see
if the partner task has any waiters and schedule them on the partner's
interp.
In addition the main thread will now no longer exit as long as tasks on
other threads are running (an explicit exit op does still work however).
The main thread's tasks could still be waiting for other tasks to
finish.
Compare: https://github.com/parrot/parrot/compare/3b5ee3c...65e2704
More information about the parrot-commits
mailing list