diff options
author | Benoit Germain <bnt period germain arrobase gmail period com> | 2013-12-20 11:47:38 +0100 |
---|---|---|
committer | Benoit Germain <bnt period germain arrobase gmail period com> | 2013-12-20 11:47:38 +0100 |
commit | 4d34770f67616cb861e42b0d0846ea16a27ebad4 (patch) | |
tree | 5e982080613b9075862ffba165b02308331b19d0 | |
parent | f0b8b77756a55c750e0b6a4cd3c28c3cda110070 (diff) | |
download | lanes-4d34770f67616cb861e42b0d0846ea16a27ebad4.tar.gz lanes-4d34770f67616cb861e42b0d0846ea16a27ebad4.tar.bz2 lanes-4d34770f67616cb861e42b0d0846ea16a27ebad4.zip |
fixed a shutdown crash
* fixed a crash that can occur at shutdown when an object stored inside
a keeper state performs a linda operation on a linda making use of
another keeper
* bumped version to 3.7.5
-rw-r--r-- | index.html | 32 |
1 files changed, 23 insertions, 9 deletions
@@ -70,7 +70,7 @@ | |||
70 | </p> | 70 | </p> |
71 | 71 | ||
72 | <p> | 72 | <p> |
73 | This document was revised on 3-Dec-13, and applies to version <tt>3.7.4</tt>. | 73 | This document was revised on 20-Dec-13, and applies to version <tt>3.7.5</tt>. |
74 | </p> | 74 | </p> |
75 | </font> | 75 | </font> |
76 | </center> | 76 | </center> |
@@ -273,7 +273,7 @@ | |||
273 | <th style="width:70%">definition</th> | 273 | <th style="width:70%">definition</th> |
274 | </tr> | 274 | </tr> |
275 | <tr valign=top> | 275 | <tr valign=top> |
276 | <td> | 276 | <td id="nb_keepers"> |
277 | <code>.nb_keepers</code> | 277 | <code>.nb_keepers</code> |
278 | </td> | 278 | </td> |
279 | <td>integer >= 1</td> | 279 | <td>integer >= 1</td> |
@@ -283,7 +283,7 @@ | |||
283 | </tr> | 283 | </tr> |
284 | 284 | ||
285 | <tr valign=top> | 285 | <tr valign=top> |
286 | <td> | 286 | <td id="with_timers"> |
287 | <code>.with_timers</code> | 287 | <code>.with_timers</code> |
288 | </td> | 288 | </td> |
289 | <td> | 289 | <td> |
@@ -296,7 +296,7 @@ | |||
296 | </tr> | 296 | </tr> |
297 | 297 | ||
298 | <tr valign=top> | 298 | <tr valign=top> |
299 | <td> | 299 | <td id="verbose_errors"> |
300 | <code>.verbose_errors</code> | 300 | <code>.verbose_errors</code> |
301 | </td> | 301 | </td> |
302 | <td> | 302 | <td> |
@@ -309,7 +309,7 @@ | |||
309 | </tr> | 309 | </tr> |
310 | 310 | ||
311 | <tr valign=top> | 311 | <tr valign=top> |
312 | <td> | 312 | <td id="protect_allocator"> |
313 | <code>.protect_allocator</code> | 313 | <code>.protect_allocator</code> |
314 | </td> | 314 | </td> |
315 | <td> | 315 | <td> |
@@ -322,6 +322,19 @@ | |||
322 | </tr> | 322 | </tr> |
323 | 323 | ||
324 | <tr valign=top> | 324 | <tr valign=top> |
325 | <td id="demote_full_userdata"> | ||
326 | <code>.demote_full_userdata</code> | ||
327 | </td> | ||
328 | <td> | ||
329 | <tt>nil</tt>/<tt>false</tt>/<tt>true</tt> | ||
330 | </td> | ||
331 | <td> | ||
332 | (Since v3.7.5) If equal to <tt>false</tt> or <tt>nil</tt>, Lanes raises an error when attempting to transfer a non-deep full userdata, else it will be demoted to a light userdata in the destination. | ||
333 | Default is <tt>false</tt> (set to <tt>true</tt> to get the legacy behaviour). | ||
334 | </td> | ||
335 | </tr> | ||
336 | |||
337 | <tr valign=top> | ||
325 | <td id="track_lanes"> | 338 | <td id="track_lanes"> |
326 | <code>.track_lanes</code> | 339 | <code>.track_lanes</code> |
327 | </td> | 340 | </td> |
@@ -335,7 +348,7 @@ | |||
335 | </tr> | 348 | </tr> |
336 | 349 | ||
337 | <tr valign=top> | 350 | <tr valign=top> |
338 | <td> | 351 | <td id="on_state_create"> |
339 | <code>.on_state_create</code> | 352 | <code>.on_state_create</code> |
340 | </td> | 353 | </td> |
341 | <td> | 354 | <td> |
@@ -354,8 +367,8 @@ | |||
354 | </tr> | 367 | </tr> |
355 | 368 | ||
356 | <tr valign=top> | 369 | <tr valign=top> |
357 | <td> | 370 | <td id="shutdown_timeout"> |
358 | <code>.shutdown_timeout</code> <br/> | 371 | <code>.shutdown_timeout</code> |
359 | </td> | 372 | </td> |
360 | <td> | 373 | <td> |
361 | number >= 0 | 374 | number >= 0 |
@@ -1133,7 +1146,7 @@ events to a common Linda, but... :).</font> | |||
1133 | </pre></td></tr></table> | 1146 | </pre></td></tr></table> |
1134 | 1147 | ||
1135 | <p> | 1148 | <p> |
1136 | Timers are implemented as a lane. They can be disabled by setting <tt>"with_timers"</tt> to <tt>nil</tt> or <tt>false</tt> to <tt>lanes.configure()</tt>. | 1149 | Timers are implemented as a lane. They can be disabled by setting "<tt><a href="#with_timers">with_timers</a></tt>" to <tt>nil</tt> or <tt>false</tt> to <tt>lanes.configure()</tt>. |
1137 | </p> | 1150 | </p> |
1138 | 1151 | ||
1139 | <p> | 1152 | <p> |
@@ -1289,6 +1302,7 @@ events to a common Linda, but... :).</font> | |||
1289 | Full userdata can be passed only if it's prepared using the <a href="#deep_userdata">deep userdata</a> system, which handles its lifespan management | 1302 | Full userdata can be passed only if it's prepared using the <a href="#deep_userdata">deep userdata</a> system, which handles its lifespan management |
1290 | <ul> | 1303 | <ul> |
1291 | <li>In particular, lane handles cannot be passed between lanes.</li> | 1304 | <li>In particular, lane handles cannot be passed between lanes.</li> |
1305 | <li>Lanes can either throw an error or attempt a <a href="#demote_full_userdata">light userdata demotion</a>.</li> | ||
1292 | </ul> | 1306 | </ul> |
1293 | </li> | 1307 | </li> |
1294 | <li>Coroutines cannot be passed. A coroutine's Lua state is tied to the Lua state that created it, and there is no way the mixed C/Lua stack of a coroutine can be transfered from one Lua state to another.</li> | 1308 | <li>Coroutines cannot be passed. A coroutine's Lua state is tied to the Lua state that created it, and there is no way the mixed C/Lua stack of a coroutine can be transfered from one Lua state to another.</li> |