moonbridge

log moonbridge_io.c

age author description
2017-11-16 jbe Bugfix in moonbr_io_read_cont function which caused read chunks to be concatenated in wrong order
2017-11-15 jbe Avoid using WNOWAIT in moonbridge_io.poll(...) for Linux compatibility
2017-06-18 jbe Fixed two errors in moonbridge_io.poll(...) regarding child termination
2017-06-18 jbe Code formatting
2017-06-18 jbe Throw error when polling a collected child process
2017-06-18 jbe Fixed wrong treatment of waitpid() return value in moonbridge_io.poll(...)
2017-06-17 jbe Bugfix regarding waiting for child processes in moonbridge_io.poll(...)
2017-06-17 jbe Extend moonbridge_io.poll(...) to support waiting for child process termination
2017-06-17 jbe Make moonbridge_io.poll(...) check for SIGTERM also when wakeup is forced due to TLS negotiation or closed local socket
2017-06-12 jbe Do not reuse child workers that have been SIGTERM'ed
2017-06-12 jbe Bugfix in moonbridge_io.c: Do not restore sigmask if not changed
2017-06-11 jbe Changed error messages for moonbridge_io.poll(...)
2017-06-11 jbe Changed behavior of moonbridge_io.poll(...); Renamed moonbridge_io.sigterm_setup() to moonbridge_io.catch_sigterm(); Removed moonbridge_io.sigterm_received()
2017-06-11 jbe Removed moonbridge_io.signals table
2017-06-11 jbe New implementation of SIGTERM handling
2017-06-08 jbe Make :kill(signal) accept also strings and default to signal 9 (KILL); Improved error handling of :kill(signal)
2017-06-06 jbe Modified behavior of moonbridge_io.signalsocket(...); Fixed usage of moonbridge_io.signalsocket(...) in moonbridge_http module
2017-06-06 jbe Make moonbridge_io.signalsocket(...) return a new socket each time it is called
2017-06-05 jbe SIGINFO not available on Linux
2017-06-04 jbe Make moonbridge_io.signalsocket(...) accept strings as argument
2017-06-04 jbe Added signal constants table moonbridge_io.signals
2017-06-04 jbe Added moonbridge_io.signalsocket(...) and moonbridge_io.getpid() functions; poll returns true on signal interruption (instead of nil)
2016-09-20 jbe Work on non-blocking close (for TLS)
2016-09-19 jbe Use (blocking) tls_close() on :finish() and :close()
2016-09-19 jbe Bugfix: do not attempt flushing/closing if file descriptor has already been closed
2016-09-18 jbe Code reformatting (of #ifdef MOONBR_IO_USE_TLS)
2016-09-18 jbe Simplified error handling with new macro(s)
2016-09-18 jbe Bugfix: Do not throw (hard) Lua error in moonbr_io_handle_set_nonblocking, moonbr_io_handle_set_linger, and moonbr_io_handle_set_nopush (may cause Lua error on connection reset)
2016-09-17 jbe Bugfix: Switch SO_LINGER off also when data is to be flushed on close
2016-09-17 jbe Added TODO for configurable TLS legacy support
2016-09-17 jbe Fixed indentation
2016-09-03 jbe Fixes for TLS extension of moonbridge_io (userdata instead of lightuserdata for TLS configuration required)
2016-09-03 jbe Call tls_close always before closing file descriptor
2016-08-26 jbe Perform TLS handshake in :read and :write methods and store TLS_WANT_POLLIN, TLS_WANT_POLLOUT in handle structure
2016-08-26 jbe More work on libtls integration (incomplete/experimental yet)
2016-08-25 jbe Added missing #ifdef MOONBR_IO_USE_TLS clause
2016-08-24 jbe Modifications to poll(...) function in regard to TLS handshake
2016-08-22 jbe Method :starttls(...) for I/O handle
2016-08-22 jbe Require "mode" parameter passed to tlsconf function
2016-08-21 jbe Process "verify_client" field in moonbridge_io.tlsconf{...}
2016-08-21 jbe Re-added experimental work on libtls integration
2016-08-21 jbe Removed experimental work on libtls integration
2016-08-21 jbe Fixed copy/paste error in tlsconf function
2016-08-21 jbe Work on tlsconf function
2016-08-20 jbe merge
2016-08-20 jbe Use luaL_setmetatable instead of luaL_getmetatable and lua_setmetatable
2016-08-20 jbe Work on optional libtls integration for moonbridge_io (tls_config stub)
2016-01-16 jbe Corrected argument to closefrom() C-call
2015-07-12 jbe Fixed bug in write buffer, which caused data to be lost when I/O is blocked
2015-06-23 jbe Clarified nil/false return values of poll function and wait_nb method
2015-06-23 jbe Send a TCP RST instead of TCP FIN when a socket gets garbage collected (and hasn't been closed)
2015-06-22 jbe Fixed mistake in previous commit
2015-06-22 jbe Use accept() only on Linux and only if _GNU_SOURCE is not set
2015-06-22 jbe Safety catch for noncompliant strerror_r() implementation on GNU/Linux systems
2015-06-22 jbe Avoid use of accept4() function in favor of accept() to avoid using _GNU_SOURCE on GNU/Linux
2015-06-22 jbe Avoid use of asprintf function
2015-06-22 jbe Avoid compiler warnings on GNU/Linux (fix)
2015-06-22 jbe Avoid compiler warnings on GNU/Linux
2015-06-22 jbe Ensure that socket handles always get closed, even in case of an error while creating the socket handle
2015-06-21 jbe Code cleanup regarding SOCK_CLOEXEC in moonbridge_io.c
2015-06-21 jbe Support asynchronous I/O with stdin/stdout/stderr of executed child processes
2015-06-19 jbe Bugfix in moonbridge_io.c regarding reading without terminator char
2015-05-19 jbe Accept max length of zero for read methods
2015-05-15 jbe Removed moonbridge_io.run(...); yielding read and write methods do not yield any values
2015-05-08 jbe New function moonbridge_io.run(...) as a "coroutine scheduler"
2015-05-07 jbe Reverted previous commit (but changes to Makefile)
2015-05-07 jbe Do not pass moonbridge_io.block when invoking callback passed to _call I/O methods but only include it for _yield I/O methods
2015-05-07 jbe Proper treatment of zero/negative timeouts to moonbridge_io.poll(...); Make _yield methods yield singleton moonbridge_io.block as first yield value
2015-05-02 jbe Yielding write and flush methods for I/O
2015-05-02 jbe Added new methods drain_call, drain_yield
2015-05-02 jbe Method "read" always returns two return values
2015-05-01 jbe Bugfix regarding detection of read end in "read" method
2015-05-01 jbe Fixed wrong treatment of Lua string buffer in drain mode
2015-05-01 jbe Added methods "read_call" and "read_yield"
2015-04-17 jbe Check if file descriptors are in valid range before using them for select
2015-04-16 jbe Added _GNU_SOURCE #define for Linux; Avoid compiler warning
2015-04-16 jbe Restored Linux compatibility regarding #include section
2015-04-16 jbe Cleanup regarding #include directives
2015-04-16 jbe Proper distinction between AF_* and PF_* constants (and commented where it is not the case)
2015-04-16 jbe Revised flushing behavior of write_nb(...) again
2015-04-16 jbe Revised flushing behavior of write_nb(...)
2015-04-14 jbe Bugfix in close method of moonbridge_io (do not mark as closed before flushing)
2015-04-11 jbe Make moonbridge_io.poll(...) return immediately if there is data pending in read buffers
2015-04-10 jbe Use SO_REUSEADDR for moonbridge_io.tcplisten(...)
2015-04-10 jbe Delete local socket in filesystem before and after listening
2015-04-10 jbe Bugfixes regarding treatment of memory allocation errors and closing file descriptors
2015-04-10 jbe Proper marking I/O handles as closed and finished
2015-04-10 jbe Added helper function moonbridge_io.timeref(...); HTTP module sends 408 Request Timeout
2015-04-09 jbe Moved SIGPIPE ignore from moonbridge.c to moonbridge_io.c
2015-04-09 jbe New function moonbridge_io.locallisten(path) to listen on local (unix domain) sockets
2015-04-09 jbe Added function moonbridge_io.localconnect(pathname) to connect to local (unix domain) socket
2015-04-09 jbe Catching state-related errors properly in moonbridge_io.poll(...)
2015-04-09 jbe Fixes in moonbridge_io.tcpconnect(...); Added moonbridge_io.tcplisten(...)
2015-04-08 jbe Moved local/remote address extraction/formatting to I/O library
2015-04-08 jbe Added moonbridge_io.poll(...)
2015-04-08 jbe Refined buffer model for reading in I/O library
2015-04-08 jbe Some code cleanup in I/O library
2015-04-08 jbe Different buffering model for I/O writer
2015-04-08 jbe Added missing freeaddrinfo() call to moonbridge_io.tcpconnect(...) function; Updated documentation regarding blocking DNS lookups of tcpconnect(...)
2015-04-08 jbe Bugfix in C function moonbr_io_closehandle
2015-04-08 jbe New function moonbridge_io.tcpconnect_nb(...) for nonblocking connects
2015-04-08 jbe Added moonbridge_io.tcpconnect(...) function
2015-04-08 jbe Bugfix regarding TCP PSH
2015-04-08 jbe Allow full write buffer without forcing TCP PSH
2015-04-08 jbe Correctly cache nonblocking status of socket in I/O library; Use TCP_NOPUSH/TCP_CORK when applicable
2015-04-07 jbe Removed timeout option from socket:close(); Simulate shutdown for local sockets (Unix Domain Sockets)
2015-04-07 jbe Always re-fill immediate send buffer in write_nb method
2015-04-07 jbe write_nb returns total number of bytes buffered in case of block; Updated reference
2015-04-07 jbe Proper return values for drain functions
2015-04-07 jbe Extended I/O library; Integrated new I/O library into moonbridge.c and moonbridge_http.lua
2015-04-07 jbe Close and reset method for I/O library
2015-04-07 jbe New I/O methods drain and drain_nb
2015-04-06 jbe Implementation of read and read_nb in I/O module
2015-04-06 jbe Refined interface of I/O library to directly support (previously opened) sockets
2015-04-06 jbe Code cleanup and fixes in optionally non-blocking write/write_nb method; Allow to mark I/O handles as closed
2015-04-06 jbe Non-blocking write methods shall return io handle
2015-04-06 jbe Implementation of write, write_nb, flush, flush_nb with double buffering technique
2015-04-06 jbe Blocking :write(...) and :flush(...) methods in I/O library
2015-04-05 jbe Stub for new non-blocking I/O library

Impressum / About Us