diff options
author | Benoit Germain <bnt period germain arrobase gmail period com> | 2014-03-20 16:49:15 +0100 |
---|---|---|
committer | Benoit Germain <bnt period germain arrobase gmail period com> | 2014-03-20 16:49:15 +0100 |
commit | 02cace23a4886a03833bb3b7842f84ddfaefe288 (patch) | |
tree | 1420d57c22ad5d71dc14166d474913ef02f99165 | |
parent | b62b386c141be7c4ba310cceedb4cc656d824c96 (diff) | |
download | lanes-02cace23a4886a03833bb3b7842f84ddfaefe288.tar.gz lanes-02cace23a4886a03833bb3b7842f84ddfaefe288.tar.bz2 lanes-02cace23a4886a03833bb3b7842f84ddfaefe288.zip |
Fixed error handling when handler isn't called
* bumped version to 3.9.4
* set_finalizer throws an error if provided finalizer isn't a function
* fix error handling when the error doesn't generate an error handler
call (IOW, all errors but LUA_ERRRUN)
* provide callstack if LUA_ERRRUN occurs inside a finalizer
-rw-r--r-- | index.html | 6 |
1 files changed, 5 insertions, 1 deletions
@@ -70,7 +70,7 @@ | |||
70 | </p> | 70 | </p> |
71 | 71 | ||
72 | <p> | 72 | <p> |
73 | This document was revised on 27-Feb-14, and applies to version <tt>3.9.3</tt>. | 73 | This document was revised on 20-Mar-14, and applies to version <tt>3.9.4</tt>. |
74 | </p> | 74 | </p> |
75 | </font> | 75 | </font> |
76 | </center> | 76 | </center> |
@@ -253,6 +253,10 @@ | |||
253 | At the same time, <tt>configure()</tt> itself will be replaced by another function that raises an error if called again with differing arguments, if any. | 253 | At the same time, <tt>configure()</tt> itself will be replaced by another function that raises an error if called again with differing arguments, if any. |
254 | </p> | 254 | </p> |
255 | <p> | 255 | <p> |
256 | Also, once Lanes is initialized, <tt>require()</tt> is replaced by another one that wraps it inside a mutex, both in the main state and in all created lanes. This prevents multiple thread-unsafe module initializations from several lanes to occur simultaneously. | ||
257 | It remains to be seen whether this is actually useful or not: If a module is already threadsafe, protecting its initialization isn't useful. And if it is not, any parallel operation may crash without Lanes being able to do anything about it. | ||
258 | </p> | ||
259 | <p> | ||
256 | <b>IMPORTANT NOTE:</b> Starting with version 3.7.0, only the first occurence of <tt>require "lanes"</tt> must be followed by a call to <tt>.configure()</tt>. From this point, a simple <tt>require "lanes"</tt> will do wherever you need to require lanes again. | 260 | <b>IMPORTANT NOTE:</b> Starting with version 3.7.0, only the first occurence of <tt>require "lanes"</tt> must be followed by a call to <tt>.configure()</tt>. From this point, a simple <tt>require "lanes"</tt> will do wherever you need to require lanes again. |
257 | </p> | 261 | </p> |
258 | 262 | ||