* master: (124 commits)
use compile-time assertion to check for unsigned char
Don't build libuv in travis if it is now submoduled.
Rebuild the scripts without PKG_CONFIG_PATH hacks.
Remove manual PKG_CONFIG_PATH configuration.
Enable fallback libuv bundle
Bundle libuv.
adds a cell check for the sample of the +roll gate
Add missing flags fixing the markdown parser bug #951
Revert "Merge pull request #952 from eglaysher/revert-meson"
Revert "Merge pull request #949 from eglaysher/meson-build-clean"
Revert "The -C flag was added for exactly this case."
The -C flag was added for exactly this case.
Take ownership of the submodule repositories.
Revert "Revert "Merge pull request #941 from frodwith/runtime-overflows""
Add legacy meson instructions to README
Fix new meson version check
Fix legacy meson version detection.
Universal meson build.
change overflow check to short
do the don trick for jam
...
The spinner is a simple |/-\ at the current cursor position. For non-terminal
events, the root of the event's wire is also displayed to the right of the
spinner to give some indication of what's causing an unresponsive terminal.
I used the simplest synchronization strategy I could think of: u3_utat.mex_u is
a mutex that serializes access to a terminal's state. The main thread holds it
at all times except when processing events. When a terminal receives a %bee blit
with a non-nul bulb (the event ovum), it releases the mutex to let the spinner
thread do its thing. A %bee with a nul bulb halts the spinner by grabbing the
mutex and refreshing the input line.
Off-thread console writes are directly against the underlying fd to avoid
trashing non-thread-safe libuv state. Given the simple locking pattern, calling
libuv from the spinner thread might be fine, but I didn't feel like auditing
vere to rule out concurrent calls. It worked when I tried it, but... threads.
I didn't look into supporting anything other than the main terminal, so
currently it's the only one that receives %bee blits. In daemon mode, the
spinner is disabled entirely and no additional thread is started.