lua-users home
lua-l archive

[Date Prev][Date Next][Thread Prev][Thread Next] [Date Index] [Thread Index]


A library binding various POSIX APIs. POSIX is the IEEE Portable Operating System Interface standard. luaposix is based on lposix.

I am happy to announce release 34.0.2 of luaposix. In addition to the some small bug fixes, this release is somewhat smaller now that it optionally uses https://github.com/gvvaughan/typecheck for consistent argument type errors in Lua functions instead of its own version of the same, and relies on https://github.com/lua-stdlib/normalize for easier portability of Lua code.

If you have moved to the new low-level APIs, and don't rely on the Lua backwards compatibility layer and convenience functions, you can safely omit those dependencies and use the C layer only.

luaposix's home page is at https://github.com/luaposix/luaposix/, with documentation at https://luaposix.github.io/luaposix.

## Noteworthy changes in release 34.0.2 (2018-02-17) [stable]

### Incompatible Changes

  - `require 'posix'` (or any of its submodules) always returns a
    populated module table, but no longer sets `_G.posix` or any other
    global symbol on Lua 5.1 (including LuaJIT).  If you were relying
    on this behaviour, please change your require statements to an
    assignment:

    local posix = require 'posix'

### Bugs Fixed

  - `posix.sys.wait.wait` returns `<childpid>, "running"` when the
child has not exited yet, and `wait` was called with `WNOHANG` set.

  - specs don't fail on valid -1 return values from `posix.sysconf`.

  - loading posix (or any of its submodules) no longer leaks symbols
    into the global namespace on Lua 5.1 (including LuaJIT).


Install it with LuaRocks, using:

    luarocks install luaposix 34.0.2