From 6234c2113a2b52ddc9fa900e7848f2cd19bd9394 Mon Sep 17 00:00:00 2001
From: Benoit Germain
Date: Wed, 27 Jun 2012 14:07:55 +0200
Subject: * when a transfered function is not found in source, guess its name
to help the user find out what's wrong * new function lanes.nameof()
---
docs/index.html | 111 +++++++-------------------------------------------------
1 file changed, 13 insertions(+), 98 deletions(-)
(limited to 'docs')
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 @@
Copyright © 2007-12 Asko Kauppi, Benoit Germain. All rights reserved.
Lua Lanes is published under the same MIT license as Lua 5.1.
-
This document was revised on 23-Jun-12, and applies to version 3.1.4
+
This document was revised on 26-Jun-12, and applies to version 3.1.4
@@ -359,6 +359,17 @@ also in the new lanes.
Each lane also gets a function set_debug_threadname() that it can use anytime to do as the name says.
Supported debuggers are Microsoft Visual Studio (for the C side) and Decoda (for the Lua side).
+
+
+ If a lane body pulls a C function imported by a module required before Lanes itself (thus not through a hooked require), the lane generator creation will raise an error.
+ 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:
+
+
+
+
+ "type", "name" = lanes.nameof( o)
+
+ |
Free running lanes
@@ -1089,103 +1100,7 @@ its actual value.
Change log
- Apr-2012
-
- - improved LuaJIT2 compatibility by handling "*" library set through luaL_openlibs().
-
-
-
- Feb-2012
-
- - Added support for an on_state_create callback invoked on a pristine Lua state created by Lanes.
- - This required a change in the lanes.configure() signature, hence the minor version bump.
-
-
-
- Nov-2011
-
- - process exit change: close everything at GC when main state closes, not when atexit() handlers are processed
- - Lua 5.2-style module:
-
- - module() is no longer used to implement lanes.lua
- - a global "lanes" variable is no longer created when the module is required
- - the Lanes module table is returned instead
-
- - Lanes must be initialized before used:
-
- - the first occurence of 'require "lanes"' produces a minimal interface that only contains a configure() function
- - the remainder of the interface is made available once this function is called
- - subsequent calls to configure() do nothing
- - configure() controls the number of keeper states and the startup of timers
-
- - * LuaJIT 2 compatibility
-
- - non-Lua functions are no longer copied by creating a C closure from a C pointer, but through 2-way lookup tables
- - 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
- - introduces a change in configuration .globals management: contents are copied *after* std libs are loaded
- - new .required configuration entry to list modules that must be require()'ed before lane body is transferred
-
- - lane:cancel() wakes up waiting lindas like what is done at lane shutdown
- - removed packagepath and packagecpath options, replaced by a package table, whose fields path, cpath, loaders, preload are transfered
-
-
- Mar-2011 (not yet versioned)
-
- - linda honors __tostring and __concat
- - new accessor linda:count(), to get info about data stored inside a linda.
- - new lanes options packagepath and packagecpath, in case one needs to set them differently than the default.
-
-
- Mar-2011 (2.1.0)
-
- - fixed potential crash at application shutdown when calling lua_close() on a killed thread's VM.
- - exposed cancel_test() in the lanes to enable manual testing for cancellation requests.
- - removed kludgy {globals={threadName}} support, replaced with a new function set_debug_threadname().
-
-Feb-2011 (2.0.11):
-
- - Fixed bug where reference to Linda object was dropped for a short time (crashing if GC was run during that time).
- - Changed the atexit code to trip the timer thread's write signal.
- - Changed lanes.c to export functions as a module rather than writing them directly to the globals table.
-
-
-Jan-2011 (2.0.10):
-
- - linda_send was waiting on the wrong signal
- - buildfix when using i586-mingw32msvc-gcc cross compiler
- - lanes_h:cancel() returns a boolean as it should
- - timers could get blocked sometimes because they were initialized with negative values
- - prepare_timeout could generate an illegal setting
-
-
-Dec-2010 (2.0.9):
-
- - Fixed 'memory leak' in some situations where a free running lane is collected before application shutdown
- - Fix LuaJIT2 incompatibility (no 'tostring' hijack anymore)
- - Added support to generate a lane from a string
-
-
-Aug-2010 (2.0.6):
-
-- Fixed some memory leaks
-- Fixed error in passing parameters to finalizers
-- Fixed missing argument propagation in lane:cancel
-- Added thread name debugging in VS
-
-
-Jan-2009 (2.0.3):
-
- - Added 'finalizer' to lane options. (TBD: not implemented yet!)
-
- - Added call stack to errors coming from a lane.
-
-
-
-Jul-2008 (2.0):
-
- - Too many changes to list (you'll need to re-read this manual)
-
-
+ See CHANGES.
--
cgit v1.2.3-55-g6feb