diff options
author | Benoit Germain <bnt.germain@gmail.com> | 2012-06-27 14:07:55 +0200 |
---|---|---|
committer | Benoit Germain <bnt.germain@gmail.com> | 2012-06-27 14:07:55 +0200 |
commit | 6234c2113a2b52ddc9fa900e7848f2cd19bd9394 (patch) | |
tree | deb14fd69b53b863b825c954b50a58667e1bc19c /docs | |
parent | ccd465a1c7c7257e85eb04fcc6767b38e794dbbe (diff) | |
download | lanes-6234c2113a2b52ddc9fa900e7848f2cd19bd9394.tar.gz lanes-6234c2113a2b52ddc9fa900e7848f2cd19bd9394.tar.bz2 lanes-6234c2113a2b52ddc9fa900e7848f2cd19bd9394.zip |
* when a transfered function is not found in source, guess its name to help the user find out what's wrongv3.1.4
* new function lanes.nameof()
Diffstat (limited to 'docs')
-rw-r--r-- | docs/index.html | 111 |
1 files changed, 13 insertions, 98 deletions
diff --git a/docs/index.html b/docs/index.html index 52ba852..2d1c78e 100644 --- a/docs/index.html +++ b/docs/index.html | |||
@@ -56,7 +56,7 @@ | |||
56 | 56 | ||
57 | <p><br/><font size="-1"><i>Copyright © 2007-12 Asko Kauppi, Benoit Germain. All rights reserved.</i> | 57 | <p><br/><font size="-1"><i>Copyright © 2007-12 Asko Kauppi, Benoit Germain. All rights reserved.</i> |
58 | <br>Lua Lanes is published under the same <A HREF="http://en.wikipedia.org/wiki/MIT_License">MIT license</A> as Lua 5.1. | 58 | <br>Lua Lanes is published under the same <A HREF="http://en.wikipedia.org/wiki/MIT_License">MIT license</A> as Lua 5.1. |
59 | </p><p>This document was revised on 23-Jun-12, and applies to version 3.1.4 | 59 | </p><p>This document was revised on 26-Jun-12, and applies to version 3.1.4 |
60 | </font></p> | 60 | </font></p> |
61 | 61 | ||
62 | </center> | 62 | </center> |
@@ -360,6 +360,17 @@ also in the new lanes. | |||
360 | <p>Each lane also gets a function <tt>set_debug_threadname()</tt> that it can use anytime to do as the name says. | 360 | <p>Each lane also gets a function <tt>set_debug_threadname()</tt> that it can use anytime to do as the name says. |
361 | Supported debuggers are Microsoft Visual Studio (for the C side) and Decoda (for the Lua side). | 361 | Supported debuggers are Microsoft Visual Studio (for the C side) and Decoda (for the Lua side). |
362 | </p> | 362 | </p> |
363 | <p> | ||
364 | If a lane body pulls a C function imported by a module required before Lanes itself (thus not through a hooked <tt>require</tt>), the lane generator creation will raise an error. | ||
365 | The function name it shows is a path where it was found by scanning _G. As a utility, the name guessing functionality is exposed as such: | ||
366 | <table border="1" bgcolor="#E0E0FF" cellpadding="10"> | ||
367 | <tr> | ||
368 | <td> | ||
369 | <code> | ||
370 | "type", "name" = lanes.nameof( o) | ||
371 | </code> | ||
372 | </table> | ||
373 | </p> | ||
363 | 374 | ||
364 | <h3>Free running lanes</h3> | 375 | <h3>Free running lanes</h3> |
365 | 376 | ||
@@ -1089,103 +1100,7 @@ its actual value. | |||
1089 | <h2 id="changes">Change log</h2> | 1100 | <h2 id="changes">Change log</h2> |
1090 | 1101 | ||
1091 | <p> | 1102 | <p> |
1092 | Apr-2012 | 1103 | See CHANGES. |
1093 | <ul> | ||
1094 | <li>improved LuaJIT2 compatibility by handling "*" library set through luaL_openlibs().</li> | ||
1095 | </ul> | ||
1096 | |||
1097 | |||
1098 | Feb-2012 | ||
1099 | <ul> | ||
1100 | <li>Added support for an on_state_create callback invoked on a pristine Lua state created by Lanes.</li> | ||
1101 | <li>This required a change in the <tt>lanes.configure()</tt> signature, hence the minor version bump.</li> | ||
1102 | </ul> | ||
1103 | |||
1104 | |||
1105 | Nov-2011 | ||
1106 | <ul> | ||
1107 | <li>process exit change: close everything at GC when main state closes, not when atexit() handlers are processed</li> | ||
1108 | <li>Lua 5.2-style module:</li> | ||
1109 | <ul> | ||
1110 | <li>module() is no longer used to implement lanes.lua</li> | ||
1111 | <li>a global "lanes" variable is no longer created when the module is required</li> | ||
1112 | <li>the Lanes module table is returned instead</li> | ||
1113 | </ul> | ||
1114 | <li>Lanes must be initialized before used:</li> | ||
1115 | <ul> | ||
1116 | <li>the first occurence of 'require "lanes"' produces a minimal interface that only contains a configure() function</li> | ||
1117 | <li>the remainder of the interface is made available once this function is called</li> | ||
1118 | <li>subsequent calls to configure() do nothing</li> | ||
1119 | <li>configure() controls the number of keeper states and the startup of timers</li> | ||
1120 | </ul> | ||
1121 | <li>* LuaJIT 2 compatibility</li> | ||
1122 | <ul> | ||
1123 | <li>non-Lua functions are no longer copied by creating a C closure from a C pointer, but through 2-way lookup tables</li> | ||
1124 | <li>this means that if a lane function body pulls non-Lua functions, the lane generator description must contain the list of libraries and modules that exports them</li> | ||
1125 | <li>introduces a change in configuration .globals management: contents are copied *after* std libs are loaded</li> | ||
1126 | <li>new .required configuration entry to list modules that must be require()'ed before lane body is transferred</li> | ||
1127 | </ul> | ||
1128 | <li>lane:cancel() wakes up waiting lindas like what is done at lane shutdown</li> | ||
1129 | <li>removed packagepath and packagecpath options, replaced by a package table, whose fields path, cpath, loaders, preload are transfered</li> | ||
1130 | </ul> | ||
1131 | |||
1132 | Mar-2011 (not yet versioned) | ||
1133 | <ul> | ||
1134 | <li>linda honors __tostring and __concat</li> | ||
1135 | <li>new accessor linda:count(), to get info about data stored inside a linda.</li> | ||
1136 | <li>new lanes options packagepath and packagecpath, in case one needs to set them differently than the default.</li> | ||
1137 | </ul> | ||
1138 | |||
1139 | Mar-2011 (2.1.0) | ||
1140 | <ul> | ||
1141 | <li>fixed potential crash at application shutdown when calling lua_close() on a killed thread's VM.</li> | ||
1142 | <li>exposed cancel_test() in the lanes to enable manual testing for cancellation requests.</li> | ||
1143 | <li>removed kludgy {globals={threadName}} support, replaced with a new function set_debug_threadname().</li> | ||
1144 | </ul> | ||
1145 | Feb-2011 (2.0.11): | ||
1146 | <ul> | ||
1147 | <li>Fixed bug where reference to Linda object was dropped for a short time (crashing if GC was run during that time).</li> | ||
1148 | <li>Changed the atexit code to trip the timer thread's write signal.</li> | ||
1149 | <li>Changed lanes.c to export functions as a module rather than writing them directly to the globals table.</li> | ||
1150 | </ul> | ||
1151 | |||
1152 | Jan-2011 (2.0.10): | ||
1153 | <ul> | ||
1154 | <li>linda_send was waiting on the wrong signal</li> | ||
1155 | <li>buildfix when using i586-mingw32msvc-gcc cross compiler</li> | ||
1156 | <li>lanes_h:cancel() returns a boolean as it should</li> | ||
1157 | <li>timers could get blocked sometimes because they were initialized with negative values</li> | ||
1158 | <li>prepare_timeout could generate an illegal setting</li> | ||
1159 | </ul> | ||
1160 | |||
1161 | Dec-2010 (2.0.9): | ||
1162 | <ul> | ||
1163 | <li>Fixed 'memory leak' in some situations where a free running lane is collected before application shutdown</li> | ||
1164 | <li>Fix LuaJIT2 incompatibility (no 'tostring' hijack anymore)</li> | ||
1165 | <li>Added support to generate a lane from a string</li> | ||
1166 | </ul> | ||
1167 | |||
1168 | Aug-2010 (2.0.6): | ||
1169 | <ul> | ||
1170 | <li>Fixed some memory leaks</li> | ||
1171 | <li>Fixed error in passing parameters to finalizers</li> | ||
1172 | <li>Fixed missing argument propagation in lane:cancel</li> | ||
1173 | <li>Added thread name debugging in VS</li> | ||
1174 | </ul> | ||
1175 | |||
1176 | Jan-2009 (2.0.3): | ||
1177 | <ul> | ||
1178 | <li>Added 'finalizer' to lane options. (TBD: not implemented yet!) | ||
1179 | </li> | ||
1180 | <li>Added call stack to errors coming from a lane. | ||
1181 | </li> | ||
1182 | </ul> | ||
1183 | |||
1184 | Jul-2008 (2.0): | ||
1185 | <ul> | ||
1186 | <li>Too many changes to list (you'll need to re-read this manual) | ||
1187 | </li> | ||
1188 | </ul> | ||
1189 | </p> | 1104 | </p> |
1190 | 1105 | ||
1191 | <!-- footnotes +++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ --> | 1106 | <!-- footnotes +++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ --> |