From ab233d0c9a1edc34836e2249c1eb6d714f1066b5 Mon Sep 17 00:00:00 2001 From: Benoit Germain Date: Thu, 17 Feb 2011 07:52:53 +0100 Subject: 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. --- CHANGES | 14 ++++++++++++++ 1 file changed, 14 insertions(+) (limited to 'CHANGES') diff --git a/CHANGES b/CHANGES index e9cfa25..1e84397 100644 --- a/CHANGES +++ b/CHANGES @@ -3,6 +3,20 @@ CHANGES: CHANGE X: +CHANGE 27 BGe 17-Feb-2011 + - 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 + - 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 + CHANGE 26 BGe 14-Feb-2011: Fixed application hang-up because keeper state was not released in case of errors thrown by inter-state data copy for unsupported types -- cgit v1.2.3-55-g6feb