<feed xmlns='http://www.w3.org/2005/Atom'>
<title>lanes/tests, branch v3.8.3</title>
<subtitle>A mirror of https://github.com/LuaLanes/lanes.git
</subtitle>
<id>https://git.lua4.win/lanes/atom?h=v3.8.3</id>
<link rel='self' href='https://git.lua4.win/lanes/atom?h=v3.8.3'/>
<link rel='alternate' type='text/html' href='https://git.lua4.win/lanes/'/>
<updated>2014-01-22T15:16:46+00:00</updated>
<entry>
<title>2 crash fixes and 1 experiment</title>
<updated>2014-01-22T15:16:46+00:00</updated>
<author>
<name>Benoit Germain</name>
<email>bnt period germain arrobase gmail period com</email>
</author>
<published>2014-01-22T15:16:46+00:00</published>
<link rel='alternate' type='text/html' href='https://git.lua4.win/lanes/commit/?id=ae19ebab381e6902cce2c7a3efd4a0949357c866'/>
<id>urn:sha1:ae19ebab381e6902cce2c7a3efd4a0949357c866</id>
<content type='text'>
* bumped version to 3.8.3
* fixed a possible Lua stack overflow when sending complex function
through lindas or as lane body
* experimental: lanes.nameof() scans the registry if a regular search
didn't yield anything interesting
* fixed lanes.nameof() misbehaving when encountering a LUA_TTHREAD
object
</content>
</entry>
<entry>
<title>new lane launcher option gc_cb</title>
<updated>2014-01-22T11:28:45+00:00</updated>
<author>
<name>Benoit Germain</name>
<email>bnt period germain arrobase gmail period com</email>
</author>
<published>2014-01-22T11:28:45+00:00</published>
<link rel='alternate' type='text/html' href='https://git.lua4.win/lanes/commit/?id=9808ae3e21ac812ef705a7c1a0b10f49825023c5'/>
<id>urn:sha1:9808ae3e21ac812ef705a7c1a0b10f49825023c5</id>
<content type='text'>
* bumped version to 3.8.2
* new lane launcher option gc_cb to set a callback that is invoked when
a lane is garbage collected
* Fix more invalid memory accesses when fetching the name of a joined
lane with lanes:threads() (because its lua_State is closed)
</content>
</entry>
<entry>
<title>linda performance improvement</title>
<updated>2014-01-20T16:37:50+00:00</updated>
<author>
<name>Benoit Germain</name>
<email>bnt period germain arrobase gmail period com</email>
</author>
<published>2014-01-20T16:37:50+00:00</published>
<link rel='alternate' type='text/html' href='https://git.lua4.win/lanes/commit/?id=57ccc40847716069053a68e9d6079355dd5a1795'/>
<id>urn:sha1:57ccc40847716069053a68e9d6079355dd5a1795</id>
<content type='text'>
slightly improve linda performance when the producer/consumer scenario
leaves leave the key empty
</content>
</entry>
<entry>
<title>Turn potential malicious-crafted code crashes into normal Lua errors</title>
<updated>2014-01-20T14:34:25+00:00</updated>
<author>
<name>Benoit Germain</name>
<email>bnt period germain arrobase gmail period com</email>
</author>
<published>2014-01-20T14:34:25+00:00</published>
<link rel='alternate' type='text/html' href='https://git.lua4.win/lanes/commit/?id=d92a2ca2a43c68854011e2f84ce0a75802d854be'/>
<id>urn:sha1:d92a2ca2a43c68854011e2f84ce0a75802d854be</id>
<content type='text'>
* bump version to 3.8.1
* new function lane:get_debug_threadname()
* Fix invalid memory accesses when fetching the name of a joined lane
with lanes:threads() (because its lua_State is closed)
* use luaL_newmetatable() to create the metatable for lane objects
* prevent malicious code from crashing by calling lane methods without
passing the lane as first argument (raise an error instead)
* set_debug_threadname() is no longer registered in the function lookup
databases because it holds a C pointer as upvalue and it might crash if
used maliciously
</content>
</entry>
<entry>
<title>Cancellation improvements and some fixes</title>
<updated>2014-01-16T13:17:23+00:00</updated>
<author>
<name>Benoit Germain</name>
<email>bnt period germain arrobase gmail period com</email>
</author>
<published>2014-01-16T13:17:23+00:00</published>
<link rel='alternate' type='text/html' href='https://git.lua4.win/lanes/commit/?id=1843a0add00186eee129b0b0a2ee605866acbb61'/>
<id>urn:sha1:1843a0add00186eee129b0b0a2ee605866acbb61</id>
<content type='text'>
* bumped version to 3.7.8
* lane:cancel() now accepts a boolean second argument when soft
cancelling (negative timeout) to wake the thread if necessary
* if a blocked linda send() or receive() call is interrupted by a
cancellation request, it returns CANCEL_ERROR so that this case can be
differentiated from a simple timeout
* fixed WIN32 THREAD_CREATE() wrong _beginthreadex() error detection
* fatal WIN32 threading errors retrieve and output the error description
string with FormatMessage()
* fixed missing lanes.set_singlethreaded
* fixed perftest.lua
* added test/cancel.lua
</content>
</entry>
<entry>
<title>errors inside finalizers generate a full stack just like any other error</title>
<updated>2013-10-22T17:11:57+00:00</updated>
<author>
<name>Benoit Germain</name>
<email>b n t DOT g e r m a i n AT g m a i l DOT c o m</email>
</author>
<published>2013-10-22T17:11:57+00:00</published>
<link rel='alternate' type='text/html' href='https://git.lua4.win/lanes/commit/?id=162a8ed6d5abf8bb1e36a4f5794073f7870fd20c'/>
<id>urn:sha1:162a8ed6d5abf8bb1e36a4f5794073f7870fd20c</id>
<content type='text'>
</content>
</entry>
<entry>
<title>version 3.7.0</title>
<updated>2013-10-11T18:08:32+00:00</updated>
<author>
<name>Benoit Germain</name>
<email>b n t DOT g e r m a i n AT g m a i l DOT c o m</email>
</author>
<published>2013-10-11T18:08:32+00:00</published>
<link rel='alternate' type='text/html' href='https://git.lua4.win/lanes/commit/?id=44540b9335f3bbd2f6fda3e13329b28ec76b6d7a'/>
<id>urn:sha1:44540b9335f3bbd2f6fda3e13329b28ec76b6d7a</id>
<content type='text'>
* fix lanes.threads() not being available in a lane where
lanes.configure() settings didn't contain track_lanes although the
initial configure() call did.
* require "lanes".configure() sequence is only necessary at the first
require "lanes".
* fix a crash at application shutdown where in some situations we could
deinitialize the protected allocator mutex while a lane was still using
it.
* fix timers broken by change 69
</content>
</entry>
<entry>
<title>Update fibonacci.lua</title>
<updated>2013-10-03T09:29:15+00:00</updated>
<author>
<name>Benoit Germain</name>
<email>bnt.germain@gmail.com</email>
</author>
<published>2013-10-03T09:29:15+00:00</published>
<link rel='alternate' type='text/html' href='https://git.lua4.win/lanes/commit/?id=69c42e1908f293498733eb5fa433f8742a513deb'/>
<id>urn:sha1:69c42e1908f293498733eb5fa433f8742a513deb</id>
<content type='text'>
Fix issue #61.
Pulling lanes as an upvalue is not a good idea after all, due to the fact that lanes.core changes its public API when lanes.core.configure() is called.</content>
</entry>
<entry>
<title>version 3.6.3</title>
<updated>2013-08-13T06:12:05+00:00</updated>
<author>
<name>Benoit Germain</name>
<email>b n t DOT g e r m a i n AT g m a i l DOT c o m</email>
</author>
<published>2013-08-13T06:12:05+00:00</published>
<link rel='alternate' type='text/html' href='https://git.lua4.win/lanes/commit/?id=7f7b29063d2f19a8bc2b229ae9b0ec82ce447cab'/>
<id>urn:sha1:7f7b29063d2f19a8bc2b229ae9b0ec82ce447cab</id>
<content type='text'>
* lane:cancel(&lt;negative-timeout&gt;) only causes cancel_test() to return
true but won't interrupt execution of the lane during linda operations
* more explicit errors when trying to transfer unknown source functions
(with new configure option verbose_errors)
* default options wrap allocator around a mutex when run by LuaJIT
</content>
</entry>
<entry>
<title>version 3.5.0</title>
<updated>2013-01-30T19:28:47+00:00</updated>
<author>
<name>Benoit Germain</name>
<email>bnt.germain@gmail.com</email>
</author>
<published>2013-01-30T19:28:47+00:00</published>
<link rel='alternate' type='text/html' href='https://git.lua4.win/lanes/commit/?id=b657f38535c3c27a848353ef853d6667d6acc917'/>
<id>urn:sha1:b657f38535c3c27a848353ef853d6667d6acc917</id>
<content type='text'>
   * new: API lanes.require(), use it instead of regular require() for modules that export C functions you need to send over.
   * new: lanes no longer require 'lanes.core' by default in every created state. Use {required={"lanes.core"}} if you need to transfer lanes functions.
   * internal: because of the above, reworked the timer implementation to remove upvalue-dependency on lanes.core
   * new: API lanes.timer_lane, to be able to operate on timer lane if need be
   * improved: if a module is a full userdata, scan its metatable for function database population
   * improved: on_state_create can be a Lua function
   * changed: on_state_create is called after the base libraries are loaded
   * package[loaders|searchers] is no longer transfered as function naming depends on slot order
   * internal: changed separator from '.' to '/' in lookup databases to be able to distinguish search levels and dot coming from module names
   * added some mode debug spew
   * updated tests to reflect the above changes
</content>
</entry>
</feed>
