Software /
code /
prosody
File
util/random.lua @ 9994:524b8cd76780 0.11
net.server_epoll: Restore wantread flag after pause (fixes #1354)
If a chunk of data has been received that is larger than the amount read
at a time, then the connection is paused for a short time after which it
tries to read some more. If, after that, there is still more data to
read, it should do the same thing. However, because the "want read" flag
is removed and was restored after the delayed reading, it would not
schedule another delayed read.
author | Kim Alvefur <zash@zash.se> |
---|---|
date | Sat, 04 May 2019 04:23:35 +0200 |
parent | 8243:292f61d9d30a |
child | 10014:5d2f7144fa12 |
line wrap: on
line source
-- Prosody IM -- Copyright (C) 2008-2014 Matthew Wild -- Copyright (C) 2008-2014 Waqas Hussain -- -- This project is MIT/X11 licensed. Please see the -- COPYING file in the source package for more information. -- local ok, crand = pcall(require, "util.crand"); if ok then return crand; end local urandom, urandom_err = io.open("/dev/urandom", "r"); local function bytes(n) return urandom:read(n); end if not urandom then function bytes() error("Unable to obtain a secure random number generator, please see https://prosody.im/doc/random ("..urandom_err..")"); end end return { bytes = bytes; _source = "/dev/urandom"; };