Software /
code /
prosody
File
util/envload.lua @ 11804:22825cb5dcd8
net.server_epoll: Don't immediately destroy upon getting closed on read
Instead try to write any remaining buffered data. If the write attempt
also fails with "closed" then there's nothing we can do and the socket
is gone.
This reverts what appears to be a mistakenly included part of c8aa66595072
Thanks jonas’ for noticing
author | Kim Alvefur <zash@zash.se> |
---|---|
date | Wed, 15 Sep 2021 18:39:37 +0200 |
parent | 8416:bc9cb23b604a |
child | 12576:d1aacc6a81ac |
line wrap: on
line source
-- Prosody IM -- Copyright (C) 2008-2011 Florian Zeitz -- -- This project is MIT/X11 licensed. Please see the -- COPYING file in the source package for more information. -- -- luacheck: ignore 113/setfenv 113/loadstring local load, loadstring, setfenv = load, loadstring, setfenv; local io_open = io.open; local envload; local envloadfile; if setfenv then function envload(code, source, env) local f, err = loadstring(code, source); if f and env then setfenv(f, env); end return f, err; end function envloadfile(file, env) local fh, err, errno = io_open(file); if not fh then return fh, err, errno; end local f, err = load(function () return fh:read(2048); end, "@"..file); fh:close(); if f and env then setfenv(f, env); end return f, err; end else function envload(code, source, env) return load(code, source, nil, env); end function envloadfile(file, env) local fh, err, errno = io_open(file); if not fh then return fh, err, errno; end local f, err = load(fh:lines(2048), "@"..file, nil, env); fh:close(); return f, err; end end return { envload = envload, envloadfile = envloadfile };