urcu:stable-0.9

Last commit made on 2020-04-22
Get this branch:
git clone -b stable-0.9 https://git.launchpad.net/urcu

Branch merges

Branch information

Name:
stable-0.9
Repository:
lp:urcu

Recent commits

288b842... by Mathieu Desnoyers

Version 0.9.7

Signed-off-by: Mathieu Desnoyers <email address hidden>

9cce461... by Mathieu Desnoyers

Fix: tls-compat.h exposes compiler-dependent public configuration

Exposing the storage class chosen by ax_tls.m4 in a public header is
a bad idea, because if a recent gcc is used when configuring
liburcu, thus detecting C11, it will choose _Thread_local. Then, if an
external project uses urcu/tls-compat.h with an older gcc (e.g. 4.8),
it will fail to build, because that storage class is unknown, and
__thread should be used instead.

Therefore, use a preprocessor conditional on __cplusplus to detect C++11
(and use thread_local). Else, the STDC version is used to select
_Thread_local. Else check if _MSC_VER is defined to select
__declspec(thread), or else rely on __thread as fallback.

Remove ax_tls.m4 because it is now unused.

Signed-off-by: Mathieu Desnoyers <email address hidden>

e47125e... by Mathieu Desnoyers

Fix: tap array subscript has type char warning

On architectures where "char" is signed, it should be cast to unsigned
char before being passed as parameter to isdigit or isspace. Based on
their man page:

       These functions check whether c, which must have the value of an
       unsigned char or EOF, falls into a certain character class according to
       the specified locale.

Passing a signed char as parameter is invalid if the values fall into
the negative range of the signed char.

Signed-off-by: Mathieu Desnoyers <email address hidden>

1f616fb... by Mathieu Desnoyers

Fix: urcu/futex.h: users of struct timespec should include time.h

Fixes: #1187
Signed-off-by: Mathieu Desnoyers <email address hidden>

7ae2447... by Mathieu Desnoyers

Cleanup: update code layout to fix old gcc warning

Some CI jobs show:

urcu-pointer.o
13:46:22 In file included from urcu.c:49:0:
13:46:22 urcu-wait.h:70:9: warning: missing initializer for field 'lock' of 'struct cds_wfs_stack' [-Wmissing-field-initializers]
13:46:22 struct urcu_wait_queue name = URCU_WAIT_QUEUE_HEAD_INIT(name)
13:46:22 ^
13:46:22 urcu.c:150:8: note: in expansion of macro 'DEFINE_URCU_WAIT_QUEUE'
13:46:22 static DEFINE_URCU_WAIT_QUEUE(gp_waiters);
13:46:22 ^
13:46:22 In file included from urcu-wait.h:27:0,
13:46:22 from urcu.c:49:
13:46:22 ../include/urcu/wfstack.h:92:18: note: 'lock' declared here
13:46:22 pthread_mutex_t lock;
13:46:22

Change code layout so not to confuse old gcc.

Signed-off-by: Mathieu Desnoyers <email address hidden>

e6a3c16... by Michael Jeanson <email address hidden>

Fix: typo CPPLAGS in examples Makefile

Overriding CPPFLAGS throught the environment was ignored for the
examples.

Signed-off-by: Michael Jeanson <email address hidden>
Signed-off-by: Mathieu Desnoyers <email address hidden>

1c96729... by Michael Jeanson <email address hidden>

Update dead link in lgpl-relicensing.txt

Signed-off-by: Michael Jeanson <email address hidden>
Signed-off-by: Mathieu Desnoyers <email address hidden>

941e445... by Mathieu Desnoyers

Version 0.9.6

Signed-off-by: Mathieu Desnoyers <email address hidden>

66ea483... by Michael Jeanson <email address hidden>

test_rwlock: Add per-thread count to verbose output

Signed-off-by: Michael Jeanson <email address hidden>
Signed-off-by: Mathieu Desnoyers <email address hidden>

6ab2df8... by Michael Jeanson <email address hidden>

Add *.exe to gitignore for Cygwin

Signed-off-by: Michael Jeanson <email address hidden>
Signed-off-by: Mathieu Desnoyers <email address hidden>