92ec9cdef3
Add line edit and history support to ngctl(8) via editline(3). Details: - The main thread runs editline(3) functions, that can block. - A separate thread is launched to monitor netgraph sockets. - The access to the descriptors is protected by a mutex. At runtime the monitoring thread owns the mutex. When the main thread reads a command from el_gets() it asks the monitoring thread to release a mutex and sleep until the main thread processes the command. This makes ngctl(8) depend on libedit, and libpthread. Thus, the new functionality isn't compiled in if release is being built with -DRELEASE_CRUNCH. PR: bin/87352 Reviewed by: ru, Nuno Antunes <nuno.antunes gmail.com>