aboutsummaryrefslogtreecommitdiff
path: root/docs
diff options
context:
space:
mode:
authorBenoit Germain <bnt.germain@gmail.com>2012-06-27 14:07:55 +0200
committerBenoit Germain <bnt.germain@gmail.com>2012-06-27 14:07:55 +0200
commit6234c2113a2b52ddc9fa900e7848f2cd19bd9394 (patch)
treedeb14fd69b53b863b825c954b50a58667e1bc19c /docs
parentccd465a1c7c7257e85eb04fcc6767b38e794dbbe (diff)
downloadlanes-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.html111
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 &copy; 2007-12 Asko Kauppi, Benoit Germain. All rights reserved.</i> 57<p><br/><font size="-1"><i>Copyright &copy; 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.
361Supported debuggers are Microsoft Visual Studio (for the C side) and Decoda (for the Lua side). 361Supported 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>
1145Feb-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
1152Jan-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
1161Dec-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
1168Aug-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
1176Jan-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
1184Jul-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 +++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ -->