<feed xmlns='http://www.w3.org/2005/Atom'>
<title>lanes/tests/protectproxy.lua, branch v4.0.0</title>
<subtitle>A mirror of https://github.com/LuaLanes/lanes.git
</subtitle>
<id>https://git.lua4.win/lanes/atom?h=v4.0.0</id>
<link rel='self' href='https://git.lua4.win/lanes/atom?h=v4.0.0'/>
<link rel='alternate' type='text/html' href='https://git.lua4.win/lanes/'/>
<updated>2025-03-14T13:53:09+00:00</updated>
<entry>
<title>Give a name to all lanes in the tests</title>
<updated>2025-03-14T13:53:09+00:00</updated>
<author>
<name>Benoit Germain</name>
<email>benoit.germain@ubisoft.com</email>
</author>
<published>2025-03-14T13:53:09+00:00</published>
<link rel='alternate' type='text/html' href='https://git.lua4.win/lanes/commit/?id=512f4c0b46ea5cc359e673b7379cd81925863121'/>
<id>urn:sha1:512f4c0b46ea5cc359e673b7379cd81925863121</id>
<content type='text'>
</content>
</entry>
<entry>
<title>Fix protectproxy.lua</title>
<updated>2018-10-30T13:36:21+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>2018-10-30T13:36:14+00:00</published>
<link rel='alternate' type='text/html' href='https://git.lua4.win/lanes/commit/?id=5cb15be26174d3aa0dca2699a03baabefa147264'/>
<id>urn:sha1:5cb15be26174d3aa0dca2699a03baabefa147264</id>
<content type='text'>
</content>
</entry>
<entry>
<title>* process exit change: close everything at GC when main state closes, not when atexit() handlers are processed</title>
<updated>2011-11-05T16:31:02+00:00</updated>
<author>
<name>Benoit Germain</name>
<email>bnt.germain@gmail.com</email>
</author>
<published>2011-11-05T16:31:02+00:00</published>
<link rel='alternate' type='text/html' href='https://git.lua4.win/lanes/commit/?id=053f7cff3c95acb915e6babfd306971f11bb7986'/>
<id>urn:sha1:053f7cff3c95acb915e6babfd306971f11bb7986</id>
<content type='text'>
   * 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
</content>
</entry>
<entry>
<title>Lane userdata implementation refactoring:</title>
<updated>2011-02-17T06:52:53+00:00</updated>
<author>
<name>Benoit Germain</name>
<email>bnt.germain@gmail.com</email>
</author>
<published>2011-02-17T06:52:53+00:00</published>
<link rel='alternate' type='text/html' href='https://git.lua4.win/lanes/commit/?id=ab233d0c9a1edc34836e2249c1eb6d714f1066b5'/>
<id>urn:sha1:ab233d0c9a1edc34836e2249c1eb6d714f1066b5</id>
<content type='text'>
    - Refactor lane proxy implementation: it is now a full userdata instead
      of a table, and its methods are implemented in C instead of Lua.
      * its metatable is no longer accessible.
      * writing to the proxy raises an error.
      * it is no longer possible to overwrite its join() and cancel() methods
    - when a deep userdata idfunc requests a module to be required, manually
      check that it is not loaded before requiring it instead of relying on
      the require function's loop detection feature.
    - when a module must be required, raise an error if the 'require' function
      is not found in the target state.
    - we know Lanes is loaded in the master state, so we don't force it
      to be required in every lane too when a linda deep userdata is copied.
</content>
</entry>
</feed>
