<feed xmlns='http://www.w3.org/2005/Atom'>
<title>lanes/src, 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-24T10:08:46+00:00</updated>
<entry>
<title>another Lua stack overflow fix</title>
<updated>2014-01-24T10:08:46+00:00</updated>
<author>
<name>Benoit Germain</name>
<email>bnt period germain arrobase gmail period com</email>
</author>
<published>2014-01-24T10:08:46+00:00</published>
<link rel='alternate' type='text/html' href='https://git.lua4.win/lanes/commit/?id=d412b1ea9f9c2568ed83e85e6d893368ac12537a'/>
<id>urn:sha1:d412b1ea9f9c2568ed83e85e6d893368ac12537a</id>
<content type='text'>
</content>
</entry>
<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>get()/set() improvements</title>
<updated>2014-01-20T09:51:11+00:00</updated>
<author>
<name>Benoit Germain</name>
<email>bnt period germain arrobase gmail period com</email>
</author>
<published>2014-01-20T09:51:11+00:00</published>
<link rel='alternate' type='text/html' href='https://git.lua4.win/lanes/commit/?id=cf9b09ff352611fb8cee3679127f3655cbe73ae7'/>
<id>urn:sha1:cf9b09ff352611fb8cee3679127f3655cbe73ae7</id>
<content type='text'>
* bumped version to 3.8.0
* linda:set() accepts multiple values to set in the specified slot
* linda:get() accepts an optional count to peek several values at once
* nil values are now converted just as in send()/receive()
</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>Fix argument checks in linda:limit()</title>
<updated>2014-01-09T13:24:32+00:00</updated>
<author>
<name>Benoit Germain</name>
<email>bnt period germain arrobase gmail period com</email>
</author>
<published>2014-01-09T13:24:32+00:00</published>
<link rel='alternate' type='text/html' href='https://git.lua4.win/lanes/commit/?id=2d0c030411bf717664b1a8bd502ce5a74ee9a257'/>
<id>urn:sha1:2d0c030411bf717664b1a8bd502ce5a74ee9a257</id>
<content type='text'>
</content>
</entry>
<entry>
<title>Linda fixes</title>
<updated>2014-01-09T11:07:41+00:00</updated>
<author>
<name>Benoit Germain</name>
<email>bnt period germain arrobase gmail period com</email>
</author>
<published>2014-01-09T11:07:41+00:00</published>
<link rel='alternate' type='text/html' href='https://git.lua4.win/lanes/commit/?id=cc03c619dafe39cab231045f3c8592398e4b6944'/>
<id>urn:sha1:cc03c619dafe39cab231045f3c8592398e4b6944</id>
<content type='text'>
* bumped version to 3.7.7
* fix crash when calling linda:count() on unknown keys
* purge key storage with linda:set( key, nil) on an unlimited key to
reduce memory usage with lots of keys
* linda:limit() wakes write-blocked threads if necessary when the new
limit enables writes to occur again
* linda:set() wakes write-blocked threads if necessary if the operation
created some room to write into
</content>
</entry>
<entry>
<title>fix on_state_create circular logic issue</title>
<updated>2014-01-06T09:40:14+00:00</updated>
<author>
<name>Benoit Germain</name>
<email>bnt period germain arrobase gmail period com</email>
</author>
<published>2014-01-06T09:40:14+00:00</published>
<link rel='alternate' type='text/html' href='https://git.lua4.win/lanes/commit/?id=b335cbcc9f07dc71999b885ffa2962c0ec00f5eb'/>
<id>urn:sha1:b335cbcc9f07dc71999b885ffa2962c0ec00f5eb</id>
<content type='text'>
* if config.on_state_create() is a C function, call it by direct C
closure reconstruction in newly created states
* bumped version to 3.7.6
</content>
</entry>
</feed>
