* Use our own lock instead of parking_lot::Mutex
* Account for spurious failures in cmpxchg weak
* Ignore send error because parent may have panicked
The parent thread may have already panicked, dropping the rx.
* Enable maximum connections to be configured
* Add arbiter for handling server startup
* Add handling of maxcon for command-line args
* Add changelog entry
* Re-add TLS
When we moved to use the Skytable client driver, we missed out TLS
support. This was re-added.
* Fix attempt to rm PID file if it doesn't exist
* Fix sequence of `inner_repl` and `inner_eval`
* Move arm64 tests into test workflow
* Archive artifacts for arm64
* Fix missing target
* Add upload assets step
* Simplify packaging
* Use caching on ARM runners and remove is_md_file
Since GH now supports `skip ci`, we don't need this anymore
* Save artifacts for ARM64
* Simplify hashing condition
* Fix caching condition
* Use IPv6 for wget
* Don't use https for wget
* Add automatic release for ARM64
* Remove the need for TableLockStateGuard
The htable impl uses locks under the hood making external locks
redundant.
* Use atomics instead of rwlock for poisoned state
* Simplify snapshot locking
* Add makefile
* Use makefile for builds
* Fix start_server command on Windows
* Use `&` for backgrounding
Since mingw on Windows provides a bash shell, we can just use this
* Use `cmd` as shell for Windows builds
* Use `start` for backgrounding on Windows
* No need for chmod
* Specify target for server to start up
* Sleep to let the server start up
* Update build docs
* Remove the pid file if runtime errors occur
* Clean up error handling and fix pid file creation
The pid file was being created before evaluating the args, now it may
happen that incorrect args or --help was passed: in that event, the pid
file remains created. This was also fixed, besides some refactoring.