update meta and changelog for 1.6.11
update bs_bench for latest camltc changes + add rule to Makefile
sync store before closing tlog
remove redundant close of socket
Merlin file
Add a simple ring-buffer implementation

This commit adds a very simple ring-buffer implementation which will be
used by `Crash_logger` in a subsequent commit.

Not much functionality is implemented, only what's strictly necessary.
Rework and speed-up `Crash_logger`

During profiling it turned out quite some time (somewhere between 5 and
10%) was spent in `Crash_logger.add_to_crash_log`, which is a fairly
'hot' function.

These changes rework `Crash_logger` so `add_to_crash_log` becomes an
almost-no-op. It turns out after these changes the function is
completely inlined, and turned into an array assignment and an integer
field update!

There's a (minor) change in functionality: it's now possible the crash
logger contains more messages than its upper limit, but the overflow
should be minimal.

Overall, the changes boil down to the following:

- Use a `Ring_buffer` instead of `Lwt_sequence` to store log entries

  This removes the need to validate the number of memorized entries
  inside `add_to_crash_log` and keep a total count. It also removes the
  need to clean up the `Lwt_sequence` in this function. As a result, the
  function becomes really small and can (and seems to) be inlined at
  call sites, so the overhead of `add_to_crash_log` becomes only an
  array assignment and an integer update.

- Don't create single-item lists when unnecessary

  Prior to these changes, messages were logged on-by-one in the
  `Lwt_sequence`, but still passed as a list to `add_to_crash_log`. On
  the other hand, when a list of messages had to be passed, it was
  paired with `None` values as exception payload, which introduced
  unnecessary list traversals and allocations.

  This change adds some more constructors to differentiate between
  single-message payloads as well as lists of messages. This is somewhat
  ad-hoc, but reduces allocation rates.

  The logged entries are simplified a bit as well, not storing the log
  level as a string but keeping the `Lwt_log.level`, turning it into a
  string only when the entry needs to be rendered.
Merge pull request #451 from Incubaid/socket-close

remove redundant close of socket
Merge pull request #455 from Incubaid/speedup-crash-logger

Speedup crash logger
Regularly dump TCP_INFO statistics of outgoing connections

Backport from PR #401 to 1.7.

(cherry picked from commit b88bd91447cb143ae5a6a08ca54a9d5166314d6e)

Conflicts:
	src/libcutil.clib

Closes #401
bench make target is .PHONY
Merge pull request #449 from Incubaid/fix-bs-bench

update bs_bench for latest camltc changes + add rule to Makefile
Add ability to list files for which warning 4 is disabled

Since we'd like to enable the 'fragile pattern matches' warning, but
it's hard to get rid of it in some files (mostly pattern-matching on
`Unix.error`), we need a way to disable to corresponding warning for
these specific files.

This change adds the feature to `myocamlbuild.ml`, not whitelisting any
file for now.
add failing drop_master_while_maintenance
Merge pull request #458 from Incubaid/allow-fragile-pattern-matches

Add ability to list files for which warning 4 is disabled
make sure lease expired event keep forever flowing through the state machine
Enable compiler warnings and fix resulting errors
prevent slave from ignoring duplicate message from master
Remove unneeded merlin dependencies
Merge pull request #454 from mark-christiaens/1.6_merlin

1.6 merlin