diff options
author | Benoit Germain <bnt.germain@gmail.com> | 2011-02-17 07:52:53 +0100 |
---|---|---|
committer | Benoit Germain <bnt.germain@gmail.com> | 2011-02-17 07:52:53 +0100 |
commit | ab233d0c9a1edc34836e2249c1eb6d714f1066b5 (patch) | |
tree | a91078b0ca240f870f5f15c2930bc0719a86c9d1 /CHANGES | |
parent | afb2da4789cdaddc5a0c3c9c2d57ccd36bcc74c7 (diff) | |
download | lanes-ab233d0c9a1edc34836e2249c1eb6d714f1066b5.tar.gz lanes-ab233d0c9a1edc34836e2249c1eb6d714f1066b5.tar.bz2 lanes-ab233d0c9a1edc34836e2249c1eb6d714f1066b5.zip |
Lane userdata implementation refactoring:
- Refactor lane proxy implementation: it is now a full userdata instead
of a table, and its methods are implemented in C instead of Lua.
* its metatable is no longer accessible.
* writing to the proxy raises an error.
* it is no longer possible to overwrite its join() and cancel() methods
- when a deep userdata idfunc requests a module to be required, manually
check that it is not loaded before requiring it instead of relying on
the require function's loop detection feature.
- when a module must be required, raise an error if the 'require' function
is not found in the target state.
- we know Lanes is loaded in the master state, so we don't force it
to be required in every lane too when a linda deep userdata is copied.
Diffstat (limited to 'CHANGES')
-rw-r--r-- | CHANGES | 14 |
1 files changed, 14 insertions, 0 deletions
@@ -3,6 +3,20 @@ CHANGES: | |||
3 | 3 | ||
4 | CHANGE X: | 4 | CHANGE X: |
5 | 5 | ||
6 | CHANGE 27 BGe 17-Feb-2011 | ||
7 | - we know Lanes is loaded in the master state, so we don't force it | ||
8 | to be required in every lane too when a linda deep userdata is copied | ||
9 | - Refactor lane proxy implementation: it is now a full userdata instead | ||
10 | of a table, and its methods are implemented in C instead of Lua | ||
11 | * its metatable is no longer accessible | ||
12 | * writing to the proxy raises an error | ||
13 | * it is no longer possible to overwrite its join() and cancel() methods | ||
14 | - when a deep userdata idfunc requests a module to be required, manually | ||
15 | check that it is not loaded before requiring it instead of relying on | ||
16 | the require function's loop detection feature | ||
17 | - when a module must be required, raise an error if the 'require' function | ||
18 | is not found in the target state | ||
19 | |||
6 | CHANGE 26 BGe 14-Feb-2011: | 20 | CHANGE 26 BGe 14-Feb-2011: |
7 | Fixed application hang-up because keeper state was not released in case of errors thrown by | 21 | Fixed application hang-up because keeper state was not released in case of errors thrown by |
8 | inter-state data copy for unsupported types | 22 | inter-state data copy for unsupported types |