Commit Graph

119 Commits

Author SHA1 Message Date
Otavio R. Piske b0a148158d ARTEMIS-2260 Refactor the library build code
This refactoring changes the native library build code to allow cross-compilation
and brings the following changes:

- Fix the link target to the one that was actually found by find_library

- Replace add definitions with standard CMake C flags handling options. Among
other things, this allow greater control over which compiler flags are used
and makes it easier to turn on/off debug flags by manipulating the
CMAKE_USER_C_FLAGS variable as documented in the README

- Updates the CMake scripts to allow cross-compilation of the artemis
native library into x86 32-bit code when building on a x86 64-bit system

- Updates the library documentation

- Defines C99 as the C standard in use so that the native library code can be
compiled in older GCC versions

- Renames the readme file so it can be better visualized on the web
2019-02-22 10:18:51 -05:00
Otavio Rodolfo Piske 308486ad8e ARTEMIS-2260 Refactor the context initialization code
The code is adjusted to ensure proper release of allocated memory when
failure occurs.

It also moves the common IOCB cleanup logic to allow reuse in the
deleteContext method.
2019-02-22 10:11:00 -05:00
Otavio Rodolfo Piske 24b3f08c88 ARTEMIS-2260 Fix an incorrect cleanup of the AIO I/O context.
Since the context is initialized on the stack, calling free on it is
incorrect and can lead to memory corruption. This replaces the cleanup
routines w/ io_queue_release which is the appropriate way to cleanup the
context.
2019-02-22 10:10:53 -05:00
Otavio Rodolfo Piske 6dafedb6af ARTEMIS-2260 Prevent a null pointer dereference if unable to allocate memory for the
events member of the control structure. This could also cause the broker
to abruptly shutdown.
2019-02-22 10:10:39 -05:00
Otavio Rodolfo Piske 584a610f6a ARTEMIS-2260 Fixes a potential NULL pointer dereference on the thin library
If the code fails to allocate native memory for the error message, it
will still perform the call to strcpy, which will result in a
segmentation fault to occur. This may cause the JVM to shutdown abruptly
potentially causing the original root cause to be hidden.
2019-02-22 10:10:28 -05:00
Jiri Danek 55ec2eef34 ARTEMIS-2181 Add `static` storage class for an inline function internal to the compile unit 2018-12-13 10:47:18 -06:00
Justin Bertram b3529dcea4 ARTEMIS-1018 de-duplicate logging codes 2018-10-10 18:48:53 -04:00
Clebert Suconic 2b633ee5c5 NO-JIRA Using less resources from public clouds on tests
LibaioTest was failing because of a test that was allocating
500 positions on libaio.
Which may not be available on Travis every time.
2018-09-04 12:47:34 -04:00
Clebert Suconic 581ee5bc46 ARTEMIS-2037 Adding 32 bits back on libaio 2018-08-17 12:52:38 -04:00
Clebert Suconic 7119f10d62 ARTEMIS-2036 Re-compiling libaio on older kernel version
Used RHEL6
2018-08-17 11:34:28 -04:00
Clebert Suconic af56b67e38 [maven-release-plugin] prepare for next development iteration 2018-05-16 11:03:26 -04:00
Clebert Suconic bcaa11c2ee [maven-release-plugin] prepare release 2.6.0 2018-05-16 11:03:14 -04:00
Clebert Suconic 09a27edaa5 NO-JIRA Recompiling libnative using an older Linux
this will increase the chances of the library being loaded on older Linux
2018-04-26 10:31:20 -04:00
Clebert Suconic 4dd594f38b ARTEMIS-618 Using proper block size on Native One Mega Buffer
This buffer is used on fill
2018-04-05 10:49:57 -05:00
Clebert Suconic 920af19adb [maven-release-plugin] prepare for next development iteration 2018-03-12 12:46:27 -04:00
Clebert Suconic 5f5b1dcf8f [maven-release-plugin] prepare release 2.5.0 2018-03-12 12:46:16 -04:00
Martyn Taylor e7da61a06f ARTEMIS-1739 Set automatic module name for native 2018-03-08 15:14:21 -06:00
Justin Bertram 55d7260a07 ARTEMIS-1510 refactor Maven poms
Clean up unused declared dependencies and undeclared dependencies which
are pulled in transitively.
2017-11-13 17:03:35 -05:00
Justin Bertram 8703d9d51d [maven-release-plugin] prepare for next development iteration 2017-11-01 00:38:57 -05:00
Justin Bertram ec63189a0a [maven-release-plugin] prepare release 2.4.0 2017-11-01 00:38:56 -05:00
Justin Bertram a44b9d5edf [maven-release-plugin] prepare for next development iteration 2017-10-31 12:09:43 -05:00
Justin Bertram 34a7431d1b [maven-release-plugin] prepare release 2.4.0 2017-10-31 12:07:55 -05:00
Clebert Suconic c8982d775b [maven-release-plugin] prepare for next development iteration 2017-09-05 17:03:48 -04:00
Clebert Suconic 84d5ac65b4 [maven-release-plugin] prepare release 2.3.0 2017-09-05 17:03:37 -04:00
Clebert Suconic ed1b268d42 [maven-release-plugin] prepare for next development iteration 2017-08-31 13:48:09 -04:00
Clebert Suconic 21f2a4a52c [maven-release-plugin] prepare release 2.3.0 2017-08-31 13:47:57 -04:00
Clebert Suconic fdad83be22 [maven-release-plugin] prepare for next development iteration 2017-07-24 21:21:18 -04:00
Clebert Suconic 71b1cc2a20 [maven-release-plugin] prepare release 2.2.0 2017-07-24 21:21:06 -04:00
Clebert Suconic ce61d20f5a [maven-release-plugin] prepare for next development iteration 2017-05-08 15:20:12 -04:00
Clebert Suconic 64e8f015ee [maven-release-plugin] prepare release 2.1.0 2017-05-08 15:20:01 -04:00
Clebert Suconic 36c9659279 [maven-release-plugin] prepare for next development iteration 2017-05-05 22:11:09 -04:00
Clebert Suconic 7b5082639f [maven-release-plugin] prepare release 2.1.0 2017-05-05 22:10:58 -04:00
Martyn Taylor c40823e5ec [maven-release-plugin] prepare for next development iteration 2017-03-10 14:54:33 +00:00
Martyn Taylor 70e319d6e3 [maven-release-plugin] prepare release 2.0.0 2017-03-10 14:52:26 +00:00
Martyn Taylor f1a5f1caf9 Revert "[maven-release-plugin] prepare release 2.0.0"
This reverts commit 057047499b.
2017-03-10 14:45:29 +00:00
Martyn Taylor 1964abe567 Revert "[maven-release-plugin] prepare for next development iteration"
This reverts commit 9a52f51c9f.
2017-03-10 14:44:58 +00:00
Martyn Taylor 9a52f51c9f [maven-release-plugin] prepare for next development iteration 2017-03-10 11:36:36 +00:00
Martyn Taylor 057047499b [maven-release-plugin] prepare release 2.0.0 2017-03-10 11:25:47 +00:00
Jiri Danek a7a0535afa NO-JIRA Fixing typos in log messages, test names and comments
Related to ARTEMIS-387 (fowardingAddress)
2017-02-20 20:54:45 -05:00
Clebert Suconic ce035a8084 ARTEMIS-937 Implementing proper alignment and adding perf-journal tool to validate the journal syncs 2017-02-03 09:04:56 -05:00
Clebert Suconic a3490cad22 ARTEMIS-896 removing 32 bit lib 2016-12-21 19:39:54 -05:00
Clebert Suconic 0c98de403d ARTEMIS-896 remove 32 bits library 2016-12-20 10:09:56 -05:00
Martyn Taylor 6682072da6 Major Version Bump 2.0.0 After Major Arch Change 2016-12-09 18:43:15 +00:00
Clebert Suconic ebbc91c728 [maven-release-plugin] prepare for next development iteration 2016-12-06 16:59:52 -05:00
Clebert Suconic 5bcbea2517 [maven-release-plugin] prepare release 1.5.1 2016-12-06 09:47:43 -05:00
Clebert Suconic f2db1c4337 [maven-release-plugin] prepare for next development iteration 2016-11-03 15:35:05 -04:00
Clebert Suconic 13a8a2bd40 [maven-release-plugin] prepare release 1.5.0 2016-11-03 15:34:54 -04:00
Clebert Suconic d09f486fa5 ARTEMIS-832 32 bits compilation 2016-11-02 13:17:12 -05:00
Clebert Suconic 5e5ac0f057 ARTEMIS-832 Openwire was ignoring data syncs.
I'm also adding the possibility of sync on libaio, and not only relay on write-cache
2016-11-02 13:17:12 -05:00
Clebert Suconic ec48f9ed00 ARTEMIS-765 Improve Checkstyle 2016-09-30 11:12:09 -04:00