[Date Prev][Date Next][Thread Prev][Thread Next]
[Date Index]
[Thread Index]
- Subject: Re: [ANN] luaposix 33.4.0 released
- From: Nagaev Boris <bnagaev@...>
- Date: Sun, 28 Feb 2016 16:25:15 +0300
On Sat, Feb 27, 2016 at 5:44 PM, Gary V. Vaughan <gary@vaughan.pe> wrote:
> 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 33.4.0 of luaposix. The biggest change in
> this release is that luaposix no longer contains the curses bindings,
> which have moved back into lcurses, so that each can maintain their own
> release cycle. There are also fixes to most know bugs.
>
> luaposix's home page is at https://github.com/luaposix/luaposix/, with
> documentation at https://luaposix.githux.io/luaposix.
>
>
> ## Noteworthy changes in release 33.4.0 (2016-02-27) [stable]
>
> ### Incompatible Changes
>
> - posix.curses has been split back out into its own separate
> project again. If you want to upgrade your posix.curses using
> project, something like the following minimal change will work
> equivalently (assuming you have the new lcurses on your package
> path):
>
> ```lua
> local posix = require 'posix'
> posix.curses = posix.curses or require 'lcurses'
> ```
require 'lcurses' doesn't work here.
require 'curses' works.
> ### New Features
>
> - New `posix.stdio.rename` binding.
>
> - New `posix.fcntl.FD_CLOEXEC` flag for `posix.fcntl.fcntl`.
>
> - New `posix.fcntl.O_CLOEXEC` flag for `posix.fcntl.open`, where
> supported by the underlying system. Falling back to FD_CLOEXEC is
> an exercise to the caller, so that non-atomicity is surfaced:
>
> ```lua
> -- without error checking, for clarity
> fd = fcntl.open ("/foo/bar", fcntl.O_CLOEXEC, stat.S_IRWXU)
> if fcntl.O_CLOEXEC == 0 then
> local flags = fcntl.fcntl (fd, fcntl.F_GETFD)
> fcntl.fcntl (fd, fcntl.F_SETFD, bit.bor (flags, fcntl.FD_CLOEXEC)
> end
> ```
>
> - New `posix.unistd.tcgetpgrp` and `posix.unistd.tcsetpgrp` bindings
> where supported by host C library.
>
> - `posix.sys.socket` AF_UNIX path handling improvements enable use of
> Linux only abstract namespace sockets.
>
> - Documentation links now point at the newer OpenGroup issue 7 specs.
>
> ### Bugs Fixed
>
> - Workaround for https://sourceware.org/bugzilla/show_bug.cgi?id=15088.
> Predicate use of POSIX sched.h APIs on presence of sched.h, since glibc
> defines _POSIX_PRIORITY_SCHEDULING erroneously, and musl libc
> provides the sched.h APIs but doesn't define _POSIX_PRIORITY_SCHEDULING.
>
> - `posix.sys.socket` AF_UNIX APIs pass path arguments by length
> instead of terminating at the first \0 byte.
>
> - `posix.unistd.readlink` no longer fails when reading a link to an
> unsized buffer or character special device node.
>
> - `execx` is no longer leaked into the global namespace after loading
> the posix module.
>
> - `examples/fork2.lua` works correctly again.
>
> - `posix.timeradd`, `posix.timercmp` and `posix.timersub` correctly
> handle tables from the modern thin wrapper API (posix.sys.time),
> while retaining compatibility with the legacy compatibility wrappers
> (posix.gettimeofday).
>
>
> Install it with LuaRocks, using:
>
> luarocks install luaposix 33.4.0
>
>
--
Best regards,
Boris Nagaev