10 Commits

Author SHA1 Message Date
Markus Mäkelä
1b46679126
MXS-1878: Maximize pipe buffer size
When the pipe buffer size is maximized, the message queue can hold more
messages. This will mitigate the problem of too many messages being placed
in the queue.
2018-05-22 15:44:55 +03:00
Johan Wikman
010c1b2625 MXS-1705 Add explanatory comment 2018-03-08 15:00:28 +02:00
Johan Wikman
bf9767e54e MXS-1705 Try with O_DIRECT, if fails try without
Instead of trying to figure out whether the kernel supports O_DIRECT
in conjunction with pipes, let's just use it and if it fails, try
without O_DIRECT.

Case in point, based on circumstantial evidence it seems that in a
container context, it may appear as if the kernel supports O_DIRECT
when it in reality does not. So better to use brute-force.
2018-03-08 15:00:28 +02:00
Markus Mäkelä
86eae02366
Log message on failed worker message
When a worker message fails, an error message should be logged to know why
it failed.
2018-03-06 13:35:15 +02:00
Markus Mäkelä
396b81f336 Fix in-source builds
The internal header directory conflicted with in-source builds causing a
build failure. This is fixed by renaming the internal header directory to
something other than maxscale.

The renaming pointed out a few problems in a couple of source files that
appeared to include internal headers when the headers were in fact public
headers.

Fixed maxctrl in-source builds by making the copying of the sources
optional.
2017-11-22 18:40:18 +02:00
Markus Mäkelä
854c4a1ed3 Add support for non-glibc systems
MaxScale can now be built on systems that use an alternative libc
implementation e.g. musl.
2017-08-02 11:51:55 +03:00
Johan Wikman
f546a17e77 Update change date of 2.2 2017-06-01 10:24:20 +03:00
Markus Mäkelä
5dc49a59be Fix build failures on CentOS 6
The older C++ compiler doesn't support struct initialization with explicit
values. In addition to this, fixed a few other warnings that caused
errors.
2017-05-05 19:59:36 +03:00
Johan Wikman
ab31cd4b1a Use O_DIRECT, but only if available.
TODO: The kernel version should be looked up at startup and made
      generally available so that it is readily available for
      anybody interested.
2017-05-03 13:39:26 +03:00
Johan Wikman
b8c78a23df Add MessageQueue class
MessageQueue encapsulates a message queue built on top of a
pipe. The message queue needs a handler for receiving messages
and must be added to a worker for pumping messages through the
pipe.

Each Worker will have an instance of MessageQueue.
2017-04-20 13:51:16 +03:00