RCU Judy Array (rcuja) implementation Signed-off-by: Mathieu Desnoyers <mathieu.desnoyers@efficios.com>
Fix: Do not use wildcards in include/Makefile.am Wildcards are not officially supported by autotools in Makefiles since it needs to know the exact list of files it has to work with. Using an absolute path was a hack that worked as long as the path to the header files from the top source dir was the same as the install path of those files, which is not the case anymore. Signed-off-by: Michael Jeanson <mjeanson@efficios.com> Signed-off-by: Mathieu Desnoyers <mathieu.desnoyers@efficios.com>
Fix: check for rand_r() in compat-rand.h The rand_r() function exists in newer Android versions, detect it instead of relying on the __ANDROID__ define. Signed-off-by: Michael Jeanson <mjeanson@efficios.com> Signed-off-by: Mathieu Desnoyers <mathieu.desnoyers@efficios.com>
Fix: Move rand-compat to private src dir Signed-off-by: Michael Jeanson <mjeanson@efficios.com> Signed-off-by: Mathieu Desnoyers <mathieu.desnoyers@efficios.com>
Fix: remove AC_FUNC_MALLOC from configure.ac AC_FUNC_MALLOC fails cross-compile builds and is only used to detect non-standard glibc behavior where malloc(0) does not return a null pointer. We don't depend on that behavior since we would have to ship a compat implementation of malloc() for this macro to be of any use. Keep it commented because autoscan will report it as missing and it might get re-introduced. Signed-off-by: Michael Jeanson <mjeanson@efficios.com> Signed-off-by: Mathieu Desnoyers <mathieu.desnoyers@efficios.com>
Cleanup: Re-organise source dir Re-organise the sources, add a top level "src" and "include" dir and move relevant files. Disable autotools automated includes and define them manually. This fixes problems with collision of header names with system headers. Include the autoconf config.h in the default includes and remove it where it's explicitely included. Remove _GNU_SOURCE defines since it's detected at configure for platforms that requires it and added to the config.h. Signed-off-by: Michael Jeanson <mjeanson@efficios.com> Signed-off-by: Mathieu Desnoyers <mathieu.desnoyers@efficios.com>
Cleanup: remove leftover manual pthread detection Signed-off-by: Michael Jeanson <mjeanson@efficios.com> Signed-off-by: Mathieu Desnoyers <mathieu.desnoyers@efficios.com>
Fix: examples: use destroy API for queues/stacks Signed-off-by: Mathieu Desnoyers <mathieu.desnoyers@efficios.com>
Fix: add missing destroy functions to queues/stack APIs Queues and stack APIs that invoke pthread_mutex_init() should have a "destroy" counterpart which calls pthread_mutex_destroy(), ortherwise this causes small memory leaks on platforms where pthread_mutex_init performs memory allocation. Signed-off-by: Mathieu Desnoyers <mathieu.desnoyers@efficios.com>