summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorRob Kendrick (plinth) <rjek@rjek.com>2013-11-06 18:31:38 +0000
committerRob Kendrick (plinth) <rjek@rjek.com>2013-11-06 18:31:38 +0000
commitcc5becd33b8d1f3a13d093cf949205d748ce7363 (patch)
treee03544db3acdcc5a67bb152c298c04b8ca3923be
parent6f0bfc1576c628d2de43edc7b20b8ba81fe10050 (diff)
downloadluxio-cc5becd33b8d1f3a13d093cf949205d748ce7363.tar.gz
Second half of whitespace replacement of luxio.simple
-rw-r--r--luxio/simple.lua910
1 files changed, 455 insertions, 455 deletions
diff --git a/luxio/simple.lua b/luxio/simple.lua
index 4c54401..226a974 100644
--- a/luxio/simple.lua
+++ b/luxio/simple.lua
@@ -614,395 +614,395 @@ local function seek(o, whence, offset)
end
local function lock(o, rw, whence, offset, len, wait, test)
- sio_check_mt(o)
- assert(rw == "r" or rw == "w" or rw == "")
- assert(seek_modes[whence])
- assert(type(offset) == "number")
- assert(type(len) == "number" and len >= 0)
-
- local flock = {
- l_whence = seek_modes[whence],
- l_start = offset,
- l_len = len
- }
-
- local cmd = wait and l.F_SETLKW or l.F_SETLK
- if test then cmd = l.F_GETLK end
-
- if rw == "r" then flock.l_type = l.F_RDLCK
- elseif rw == "w" then flock.l_type = l.F_WRLCK
- else flock.l_type = l.F_UNLCK
- end
-
- local r, errno = l_fcntl(o.fd, cmd, flock)
-
- if r < 0 then
- return err("fcntl", errno)
- end
-
- if not test then
- return true
- else
- if flock.l_type == l.F_UNLCK then
- return true
- else
- return false, flock.l_pid
- end
- end
+ sio_check_mt(o)
+ assert(rw == "r" or rw == "w" or rw == "")
+ assert(seek_modes[whence])
+ assert(type(offset) == "number")
+ assert(type(len) == "number" and len >= 0)
+
+ local flock = {
+ l_whence = seek_modes[whence],
+ l_start = offset,
+ l_len = len
+ }
+
+ local cmd = wait and l.F_SETLKW or l.F_SETLK
+ if test then cmd = l.F_GETLK end
+
+ if rw == "r" then flock.l_type = l.F_RDLCK
+ elseif rw == "w" then flock.l_type = l.F_WRLCK
+ else flock.l_type = l.F_UNLCK
+ end
+
+ local r, errno = l_fcntl(o.fd, cmd, flock)
+
+ if r < 0 then
+ return err("fcntl", errno)
+ end
+
+ if not test then
+ return true
+ else
+ if flock.l_type == l.F_UNLCK then
+ return true
+ else
+ return false, flock.l_pid
+ end
+ end
end
local function unlock(o, whence, offset, len)
- return lock(o, "", whence, offset, len)
+ return lock(o, "", whence, offset, len)
end
local function locktest(o, type, whence, offset, len)
- return lock(o, type, whence, offset, len, false, true)
+ return lock(o, type, whence, offset, len, false, true)
end
local function chmod(file, mode)
- local mode = sio_mode_flags(mode)
- local r, errno = l_chmod(file, mode)
+ local mode = sio_mode_flags(mode)
+ local r, errno = l_chmod(file, mode)
- if r < 0 then
- return err("chmod", errno)
- end
+ if r < 0 then
+ return err("chmod", errno)
+ end
- return r
+ return r
end
local function fchmod(o, mode)
- sio_check_mt(o)
- local mode = sio_mode_flags(mode)
- local r, errno = l_fchmod(o.fd, mode)
+ sio_check_mt(o)
+ local mode = sio_mode_flags(mode)
+ local r, errno = l_fchmod(o.fd, mode)
- if r < 0 then
- return err("fchmod", errno)
- end
+ if r < 0 then
+ return err("fchmod", errno)
+ end
- return r
+ return r
end
local function umask(mask)
- return l_umask(sio_mode_flags(mask))
+ return l_umask(sio_mode_flags(mask))
end
local function link(existing, new)
- local r, errno = l_link(existing, new)
+ local r, errno = l_link(existing, new)
- if r ~= 0 then
- return err("link", errno)
- end
+ if r ~= 0 then
+ return err("link", errno)
+ end
- return true
+ return true
end
local function mkfifo(pathname, mode)
- local mode = sio_mode_flags(mode)
- local r, errno = l_mkfifo(pathname, mode)
+ local mode = sio_mode_flags(mode)
+ local r, errno = l_mkfifo(pathname, mode)
- if r ~= 0 then
- return err("mkfifo", errno)
- end
+ if r ~= 0 then
+ return err("mkfifo", errno)
+ end
- return true
+ return true
end
local function unlink(pathname)
- local r, errno = l_unlink(pathname)
+ local r, errno = l_unlink(pathname)
- if r ~= 0 then
- return err("unlink", errno)
- end
+ if r ~= 0 then
+ return err("unlink", errno)
+ end
- return true
+ return true
end
local function rmdir(pathname)
- local r, errno = l_rmdir(pathname)
+ local r, errno = l_rmdir(pathname)
- if r ~= 0 then
- return err("rmdir", errno)
- end
+ if r ~= 0 then
+ return err("rmdir", errno)
+ end
- return true
+ return true
end
local function rename(old, new)
- local r, errno = l_rename(old, new)
+ local r, errno = l_rename(old, new)
- if r ~= 0 then
- return err("rename", errno)
- end
+ if r ~= 0 then
+ return err("rename", errno)
+ end
- return true
+ return true
end
local function luxio_socket_create(family, socktype)
- socktype = socktype or "tcp" -- default to tcp socket
- local st
+ socktype = socktype or "tcp" -- default to tcp socket
+ local st
- if socktype == "tcp" then
- st = l.SOCK_STREAM
- elseif socktype == "udp" then
- st = l.SOCK_DGRAM
- end
+ if socktype == "tcp" then
+ st = l.SOCK_STREAM
+ elseif socktype == "udp" then
+ st = l.SOCK_DGRAM
+ end
- assert(st ~= nil, "unknown socket type")
+ assert(st ~= nil, "unknown socket type")
- local sock, errno = l_socket(family, st, 0)
+ local sock, errno = l_socket(family, st, 0)
- if sock < 0 then
- return err("socket", errno)
- end
+ if sock < 0 then
+ return err("socket", errno)
+ end
- local sockname = ("<socket %s/%s>"):format(
- family == l.AF_INET and "ipv4" or "ipv6", socktype)
- local r = sio_wrap_mt(sock, false, sockname)
- r.sock = { family = family, type = st }
+ local sockname = ("<socket %s/%s>"):format(
+ family == l.AF_INET and "ipv4" or "ipv6", socktype)
+ local r = sio_wrap_mt(sock, false, sockname)
+ r.sock = { family = family, type = st }
- return r
+ return r
end
local function inet(socktype)
- return luxio_socket_create(l.AF_INET, socktype)
+ return luxio_socket_create(l.AF_INET, socktype)
end
local function inet6(socktype)
- return luxio_socket_create(l.AF_INET6, socktype)
+ return luxio_socket_create(l.AF_INET6, socktype)
end
local function connect(host, serv)
- serv = tostring(serv)
- assert(type(host) == "string", "host string expected at #1")
- assert(type(serv) == "string", "service string expected at #2")
-
- local r, addrinfo = l_getaddrinfo(host, serv, 0, l.AF_UNSPEC, l.SOCK_STREAM)
- if r < 0 then
- return nil, ("getaddrinfo: %s"):format(l_gai_strerror(r)), r
- end
-
- local sock, addr, errno
- for idx, ai in ipairs(addrinfo) do
- sock, errno = l_socket(ai.ai_family, ai.ai_socktype, ai.ai_protocol)
- if sock < 0 then
- -- can't create this type of socket
- sock = nil
- else
- r, errno = l_connect(sock, ai.ai_addr)
- if r < 0 then
- -- can't connect to this address
- l_close(sock)
- sock = nil
- else
- -- we connected!
- addr = ai
- break
- end
- end
- end
-
- if sock == nil then
- -- we couldn't connect, return the last error
- return err("unable to connect", errno)
- end
-
- local sockname = ("<socket %s/tcp %s %d connected>"):format(
- addr.ai_family == l.AF_INET and "ipv4" or "ipv6",
- addr.ai_addr.address, addr.ai_addr.port)
-
- r = sio_wrap_mt(sock, false, sockname)
- r.sock = {
- family = addr.ai_family,
- type = addr.ai_socktype,
- addr = addr.ai_addr
- }
-
- return r
+ serv = tostring(serv)
+ assert(type(host) == "string", "host string expected at #1")
+ assert(type(serv) == "string", "service string expected at #2")
+
+ local r, addrinfo = l_getaddrinfo(host, serv, 0, l.AF_UNSPEC, l.SOCK_STREAM)
+ if r < 0 then
+ return nil, ("getaddrinfo: %s"):format(l_gai_strerror(r)), r
+ end
+
+ local sock, addr, errno
+ for idx, ai in ipairs(addrinfo) do
+ sock, errno = l_socket(ai.ai_family, ai.ai_socktype, ai.ai_protocol)
+ if sock < 0 then
+ -- can't create this type of socket
+ sock = nil
+ else
+ r, errno = l_connect(sock, ai.ai_addr)
+ if r < 0 then
+ -- can't connect to this address
+ l_close(sock)
+ sock = nil
+ else
+ -- we connected!
+ addr = ai
+ break
+ end
+ end
+ end
+
+ if sock == nil then
+ -- we couldn't connect, return the last error
+ return err("unable to connect", errno)
+ end
+
+ local sockname = ("<socket %s/tcp %s %d connected>"):format(
+ addr.ai_family == l.AF_INET and "ipv4" or "ipv6",
+ addr.ai_addr.address, addr.ai_addr.port)
+
+ r = sio_wrap_mt(sock, false, sockname)
+ r.sock = {
+ family = addr.ai_family,
+ type = addr.ai_socktype,
+ addr = addr.ai_addr
+ }
+
+ return r
end
local function bind(host, serv, backlog)
- host = host or "::"
- serv = tostring(serv)
- assert(type(serv) == "string", "service string expected at #2")
- backlog = backlog or 32
-
- local r, addrinfo = l_getaddrinfo(host, serv, l.AI_PASSIVE, l.AF_UNSPEC, l.SOCK_STREAM)
- if r < 0 then
- return nil, ("getaddrinfo: %s"):format(l_gai_strerror(r)), r
- end
-
- local sock, errno, addr
- for idx, ai in ipairs(addrinfo) do
- sock, errno = l_socket(ai.ai_family, ai.ai_socktype, ai.ai_protocol)
- if sock < 0 then
- -- can't creat this tpe of socket
- sock = nil
- else
- l_setsockopt(sock, l.SOL_SOCKET, l.SO_REUSEADDR, 1)
- r, errno = l_bind(sock, ai.ai_addr)
- if r < 0 then
- -- can't bind to this address
- l_close(sock)
- sock = nil
- else
- -- we bound!
- addr = ai
- break
- end
- end
- end
-
- if sock == nil then
- -- we couldn't bind, return the last error
- return err("bind", errno)
- end
-
- r, errno = l_listen(sock, backlog)
- if r < 0 then
- l_close(sock)
- return err("listen", errno)
- end
-
- local sockname = ("<socket %s/tcp %s %d bound>"):format(
- addr.ai_family == l.AF_INET and "ipv4" or "ipv6",
- addr.ai_addr.address, addr.ai_addr.port)
-
- r = sio_wrap_mt(sock, false, sockname)
- r.sock = {
- family = addr.ai_family,
- type = addr.ai_socktype,
- addr = addr.ai_addr
- }
-
- return r
+ host = host or "::"
+ serv = tostring(serv)
+ assert(type(serv) == "string", "service string expected at #2")
+ backlog = backlog or 32
+
+ local r, addrinfo = l_getaddrinfo(host, serv, l.AI_PASSIVE, l.AF_UNSPEC, l.SOCK_STREAM)
+ if r < 0 then
+ return nil, ("getaddrinfo: %s"):format(l_gai_strerror(r)), r
+ end
+
+ local sock, errno, addr
+ for idx, ai in ipairs(addrinfo) do
+ sock, errno = l_socket(ai.ai_family, ai.ai_socktype, ai.ai_protocol)
+ if sock < 0 then
+ -- can't creat this tpe of socket
+ sock = nil
+ else
+ l_setsockopt(sock, l.SOL_SOCKET, l.SO_REUSEADDR, 1)
+ r, errno = l_bind(sock, ai.ai_addr)
+ if r < 0 then
+ -- can't bind to this address
+ l_close(sock)
+ sock = nil
+ else
+ -- we bound!
+ addr = ai
+ break
+ end
+ end
+ end
+
+ if sock == nil then
+ -- we couldn't bind, return the last error
+ return err("bind", errno)
+ end
+
+ r, errno = l_listen(sock, backlog)
+ if r < 0 then
+ l_close(sock)
+ return err("listen", errno)
+ end
+
+ local sockname = ("<socket %s/tcp %s %d bound>"):format(
+ addr.ai_family == l.AF_INET and "ipv4" or "ipv6",
+ addr.ai_addr.address, addr.ai_addr.port)
+
+ r = sio_wrap_mt(sock, false, sockname)
+ r.sock = {
+ family = addr.ai_family,
+ type = addr.ai_socktype,
+ addr = addr.ai_addr
+ }
+
+ return r
end
local function accept(o)
- sio_check_mt(o)
+ sio_check_mt(o)
- local r, addr = l_accept(o.fd)
+ local r, addr = l_accept(o.fd)
- if r < 0 then
- return err("accept", addr)
- end
+ if r < 0 then
+ return err("accept", addr)
+ end
- local sockname = ("<socket %s/tcp %s %d accepted>"):format(
- addr.family == l.AF_INET and "ipv4" or "ipv6",
- addr.address, addr.port)
+ local sockname = ("<socket %s/tcp %s %d accepted>"):format(
+ addr.family == l.AF_INET and "ipv4" or "ipv6",
+ addr.address, addr.port)
- r = sio_wrap_mt(r, false, sockname)
- r.sock = {
- family = addr.family,
- type = l.SOCK_STREAM,
- addr = addr
- }
+ r = sio_wrap_mt(r, false, sockname)
+ r.sock = {
+ family = addr.family,
+ type = l.SOCK_STREAM,
+ addr = addr
+ }
- return r, addr
+ return r, addr
end
local function msetsockopt(o, level, option, value)
- sio_check_mt(o)
- assert(type(level) == "number", "level number expected at #2")
- assert(type(option) == "number", "option number expected at #3")
- local r, errno = l_setsockopt(o.fd, level, option, value)
- if r == 0 then
- return true
- end
-
- return err("setsockopt", errno)
+ sio_check_mt(o)
+ assert(type(level) == "number", "level number expected at #2")
+ assert(type(option) == "number", "option number expected at #3")
+ local r, errno = l_setsockopt(o.fd, level, option, value)
+ if r == 0 then
+ return true
+ end
+
+ return err("setsockopt", errno)
end
local function mgetsockopt(o, level, option)
- sio_check_mt(o)
- assert(type(level) == "number", "level number expected at #2")
- assert(type(option) == "number", "option number expected at #3")
- local r, value = l_getsockopt(o.fd, level, option)
- if r == 0 then
- return value
- end
-
- return err("getsockopt", errno)
+ sio_check_mt(o)
+ assert(type(level) == "number", "level number expected at #2")
+ assert(type(option) == "number", "option number expected at #3")
+ local r, value = l_getsockopt(o.fd, level, option)
+ if r == 0 then
+ return value
+ end
+
+ return err("getsockopt", errno)
end
local function mbind(o, address, port)
- sio_check_mt(o)
- assert(type(address) == "string", "address string expected at #2")
- assert(type(port) == "number", "port number expected at #3")
-
- local sockaddr = l_make_sockaddr(o.sock.family, port, address)
- local r, errno = l_bind(o.fd, sockaddr)
- if r < 0 then
- return err("bind", errno)
- end
-
- o.sock.addr = sockaddr
- o.name = ("<socket %s/%s %s %d bound>"):format(
- o.sock.family == l.AF_INET and "ipv4" or "ipv6",
- o.sock.type == l.SOCK_STREAM and "tcp" or "udp",
- sockaddr.address, sockaddr.port)
-
- return true
+ sio_check_mt(o)
+ assert(type(address) == "string", "address string expected at #2")
+ assert(type(port) == "number", "port number expected at #3")
+
+ local sockaddr = l_make_sockaddr(o.sock.family, port, address)
+ local r, errno = l_bind(o.fd, sockaddr)
+ if r < 0 then
+ return err("bind", errno)
+ end
+
+ o.sock.addr = sockaddr
+ o.name = ("<socket %s/%s %s %d bound>"):format(
+ o.sock.family == l.AF_INET and "ipv4" or "ipv6",
+ o.sock.type == l.SOCK_STREAM and "tcp" or "udp",
+ sockaddr.address, sockaddr.port)
+
+ return true
end
local function mlisten(o, backlog)
- sio_check_mt(o)
- backlog = backlog or 32
- local r, errno = l_listen(o.fd, backlog)
- if r < 0 then
- return err("listen", errno)
- end
-
- return true
+ sio_check_mt(o)
+ backlog = backlog or 32
+ local r, errno = l_listen(o.fd, backlog)
+ if r < 0 then
+ return err("listen", errno)
+ end
+
+ return true
end
local function mconnect(o, address, port)
- sio_check_mt(o)
- assert(type(address) == "string", "address string expected at #2")
- assert(type(port) == "number", "port number expected at #3")
-
- local sockaddr = l_make_sockaddr(o.sock.family, port, address)
- local r, errno = l_connect(o.fd, sockaddr)
- if r < 0 then
- return err("connect", errno)
- end
-
- o.name = ("<socket %s/%s %s %d connected>"):format(
- o.sock.family == l.AF_INET and "ipv4" or "ipv6",
- o.sock.type == l.SOCK_STREAM and "tcp" or "udp",
- sockaddr.address, sockaddr.port)
-
- return true
+ sio_check_mt(o)
+ assert(type(address) == "string", "address string expected at #2")
+ assert(type(port) == "number", "port number expected at #3")
+
+ local sockaddr = l_make_sockaddr(o.sock.family, port, address)
+ local r, errno = l_connect(o.fd, sockaddr)
+ if r < 0 then
+ return err("connect", errno)
+ end
+
+ o.name = ("<socket %s/%s %s %d connected>"):format(
+ o.sock.family == l.AF_INET and "ipv4" or "ipv6",
+ o.sock.type == l.SOCK_STREAM and "tcp" or "udp",
+ sockaddr.address, sockaddr.port)
+
+ return true
end
descriptor_mt = {
- close = close,
- nogc = nogc,
- nonblocking = nonblocking,
-
- write = write,
- writev = writev,
- read = read,
- seek = seek,
- chmod = fchmod,
- fchmod = fchmod,
- stat = fstat,
- fstat = stat,
- lock = lock,
- locktest = locktest,
-
- accept = accept,
- setsockopt = msetsockopt,
- getsockopt = mgetsockopt,
- bind = mbind,
- listen = mlisten,
- connect = mconnect,
-
- __tostring = function(x)
- return ("file descriptor: %s (%s)"):format(
- tostring(x.fd or "closed"), x.name or "<unknown>")
- end,
-
- __gc = sio_meta_gc,
+ close = close,
+ nogc = nogc,
+ nonblocking = nonblocking,
+
+ write = write,
+ writev = writev,
+ read = read,
+ seek = seek,
+ chmod = fchmod,
+ fchmod = fchmod,
+ stat = fstat,
+ fstat = stat,
+ lock = lock,
+ locktest = locktest,
+
+ accept = accept,
+ setsockopt = msetsockopt,
+ getsockopt = mgetsockopt,
+ bind = mbind,
+ listen = mlisten,
+ connect = mconnect,
+
+ __tostring = function(x)
+ return ("file descriptor: %s (%s)"):format(
+ tostring(x.fd or "closed"), x.name or "<unknown>")
+ end,
+
+ __gc = sio_meta_gc,
}
descriptor_mt.__index = descriptor_mt
@@ -1013,246 +1013,246 @@ local lclosedir = l.closedir
local lreaddir = l.readdir
local function dirent_meta_gc(o)
- if not o.closed then
- lclosedir(o.dir)
- end
+ if not o.closed then
+ lclosedir(o.dir)
+ end
end
local dirent_wrap_mt
local dirent_check_mt
local dirent_mt = {
- next = function(o)
- dirent_check_mt(o)
-
- local r, t = lreaddir(o.dir)
-
- if r == 0 then
- return t -- next directory entry
- elseif r == nil then
- return nil -- end of directory
- else
- error("readdir iterator: " .. lstrerror(r))
- end
- end,
-
- iterate = function(o)
- dirent_check_mt(o)
-
- return function()
- local r, t = lreaddir(o.dir)
- if r == 0 then
- return t.d_name, t
- elseif r == nil then
- -- end of directory
- return nil
- else
- error("readdir iterator: " .. lstrerror(r))
- end
- end
- end,
-
- close = function(o)
- dirent_check_mt(o)
- lclosedir(o.dir)
- o.closed = true
- end,
-
- __gc = dirent_meta_gc
+ next = function(o)
+ dirent_check_mt(o)
+
+ local r, t = lreaddir(o.dir)
+
+ if r == 0 then
+ return t -- next directory entry
+ elseif r == nil then
+ return nil -- end of directory
+ else
+ error("readdir iterator: " .. lstrerror(r))
+ end
+ end,
+
+ iterate = function(o)
+ dirent_check_mt(o)
+
+ return function()
+ local r, t = lreaddir(o.dir)
+ if r == 0 then
+ return t.d_name, t
+ elseif r == nil then
+ -- end of directory
+ return nil
+ else
+ error("readdir iterator: " .. lstrerror(r))
+ end
+ end
+ end,
+
+ close = function(o)
+ dirent_check_mt(o)
+ lclosedir(o.dir)
+ o.closed = true
+ end,
+
+ __gc = dirent_meta_gc
}
dirent_mt.__index = dirent_mt
if lua_version == 5.1 then
- dirent_wrap_mt = function(t)
- t.proxy = newproxy(true)
- getmetatable(t.proxy).__gc = function()
- dirent_meta_gc(t)
- end
- return setmetatable(t, dirent_mt)
- end
+ dirent_wrap_mt = function(t)
+ t.proxy = newproxy(true)
+ getmetatable(t.proxy).__gc = function()
+ dirent_meta_gc(t)
+ end
+ return setmetatable(t, dirent_mt)
+ end
else
- dirent_wrap_mt = function(t)
- return setmetatable(t, dirent_mt)
- end
+ dirent_wrap_mt = function(t)
+ return setmetatable(t, dirent_mt)
+ end
end
dirent_check_mt = function(x)
- if getmetatable(x) ~= dirent_mt then
- error "object passed is not a directory object"
- end
- if x.closed then
- error "directory passed has been closed"
- end
+ if getmetatable(x) ~= dirent_mt then
+ error "object passed is not a directory object"
+ end
+ if x.closed then
+ error "directory passed has been closed"
+ end
end
local lopendir = l.opendir
local function opendir(path)
- local r, errno = lopendir(path)
+ local r, errno = lopendir(path)
- if r == nil then
- return err("opendir", errno)
- end
+ if r == nil then
+ return err("opendir", errno)
+ end
- return dirent_wrap_mt { dir = r }
+ return dirent_wrap_mt { dir = r }
end
-- Misc helper functions that do not function on descriptors
local lmkdir = l.mkdir
local function mkdir(path, mode)
- mode = sio_mode_flags(mode or "0755")
+ mode = sio_mode_flags(mode or "0755")
- if path == "" or path == "/" then
- return true
- end
+ if path == "" or path == "/" then
+ return true
+ end
- local r, errno = lmkdir(path, mode)
+ local r, errno = lmkdir(path, mode)
- if r < 0 then
- return err("mkdir", errno)
- end
+ if r < 0 then
+ return err("mkdir", errno)
+ end
- return r
+ return r
end
local lfork = l.fork
local function fork()
- local r, errno = lfork()
+ local r, errno = lfork()
- if r == -1 then
- return err("fork", errno)
- end
+ if r == -1 then
+ return err("fork", errno)
+ end
- return r
+ return r
end
local lexec = l.exec
local function exec(...)
- local r, errno = lexec(...)
+ local r, errno = lexec(...)
- return err("exec", errno)
+ return err("exec", errno)
end
local lexecp = l.execp
local function execp(...)
- local r, errno = lexec(...)
+ local r, errno = lexec(...)
- return err("exec", errno)
+ return err("exec", errno)
end
local lwaitpid = l.waitpid
local function waitpid(pid, options)
- pid = pid or -1
- options = options or 0
- local r, errno = waitpid(pid, options)
+ pid = pid or -1
+ options = options or 0
+ local r, errno = waitpid(pid, options)
- if r == -1 then
- return err("waitpid", errno)
- end
+ if r == -1 then
+ return err("waitpid", errno)
+ end
- return r
+ return r
end
local l_kill = l.kill
local SIGTERM = l.SIGTERM
local function kill(pid, signal)
- signal = signal or SIGTERM
- if type(pid) ~= "number" or pid < 1 then
- return nil, "invalid pid passed to kill"
- end
+ signal = signal or SIGTERM
+ if type(pid) ~= "number" or pid < 1 then
+ return nil, "invalid pid passed to kill"
+ end
- local r, errno = l_kill(pid, signal)
- if r == -1 then
- return err("kill", errno)
- end
+ local r, errno = l_kill(pid, signal)
+ if r == -1 then
+ return err("kill", errno)
+ end
- return r
+ return r
end
local l_setenv = l.setenv
local function setenv(key, value, overwrite)
- local r, errno = l_setenv(key, value, overwrite and 1 or 0)
- if r == -1 then
- return err("setenv", errno)
- end
+ local r, errno = l_setenv(key, value, overwrite and 1 or 0)
+ if r == -1 then
+ return err("setenv", errno)
+ end
- return r
+ return r
end
local l_unsetenv = l.unsetenv
local function unsetenv(key)
- local r, errno = l_unsetenv(key)
+ local r, errno = l_unsetenv(key)
- if r == -1 then
- return err("unsetenv", errno)
- end
+ if r == -1 then
+ return err("unsetenv", errno)
+ end
- return r
+ return r
end
local l_chdir = l.chdir
local function chdir(path)
- local r, err = l_chdir(path)
- if r == -1 then
- return err("chdir", errno)
- end
+ local r, err = l_chdir(path)
+ if r == -1 then
+ return err("chdir", errno)
+ end
- return r
+ return r
end
local l_getcwd = l.getcwd
local function getcwd()
- local r, errno = l_getcwd()
+ local r, errno = l_getcwd()
- if r == nil then
- return err("getcwd", errno)
- end
+ if r == nil then
+ return err("getcwd", errno)
+ end
- return r
+ return r
end
return {
- open = open,
- pipe = pipe,
- socketpair = socketpair,
- inet = inet,
- inet6 = inet6,
- connect = connect,
- bind = bind,
-
- stat = stat,
- lstat = lstat,
-
- wrap_fd = sio_wrap_mt,
- tomode = sio_mode_flags,
- umask = umask,
- chmod = chmod,
- link = link,
- mkdir = mkdir,
- mkfifo = mkfifo,
- unlink = unlink,
- rmdir = rmdir,
- rename = rename,
- fork = fork,
- exec = exec,
- execp = execp,
- waitpid = waitpid,
- kill = kill,
- setenv = setenv,
- getenv = l.getenv, -- this call cannot fail
- unsetenv = unsetenv,
- opendir = opendir,
- chdir = chdir,
- getcwd = getcwd,
-
- stdin = sio_wrap_mt(l.STDIN_FILENO, true, "<stdin>"),
- stdout = sio_wrap_mt(l.STDOUT_FILENO, true, "<stdout>"),
- stderr = sio_wrap_mt(l.STDERR_FILENO, true, "<stderr>"),
-
- luxio = l,
-
- _VERSION = "Luxio Simple Interface " .. tostring(l._RELEASE),
- _COPYRIGHT = "Copyright 2012 Rob Kendrick <rjek+luxio@rjek.com>",
- _RELEASE = l._RELEASE
+ open = open,
+ pipe = pipe,
+ socketpair = socketpair,
+ inet = inet,
+ inet6 = inet6,
+ connect = connect,
+ bind = bind,
+
+ stat = stat,
+ lstat = lstat,
+
+ wrap_fd = sio_wrap_mt,
+ tomode = sio_mode_flags,
+ umask = umask,
+ chmod = chmod,
+ link = link,
+ mkdir = mkdir,
+ mkfifo = mkfifo,
+ unlink = unlink,
+ rmdir = rmdir,
+ rename = rename,
+ fork = fork,
+ exec = exec,
+ execp = execp,
+ waitpid = waitpid,
+ kill = kill,
+ setenv = setenv,
+ getenv = l.getenv, -- this call cannot fail
+ unsetenv = unsetenv,
+ opendir = opendir,
+ chdir = chdir,
+ getcwd = getcwd,
+
+ stdin = sio_wrap_mt(l.STDIN_FILENO, true, "<stdin>"),
+ stdout = sio_wrap_mt(l.STDOUT_FILENO, true, "<stdout>"),
+ stderr = sio_wrap_mt(l.STDERR_FILENO, true, "<stderr>"),
+
+ luxio = l,
+
+ _VERSION = "Luxio Simple Interface " .. tostring(l._RELEASE),
+ _COPYRIGHT = "Copyright 2012 Rob Kendrick <rjek+luxio@rjek.com>",
+ _RELEASE = l._RELEASE
}