X-Git-Url: http://git.liburcu.org/?p=urcu.git;a=blobdiff_plain;f=urcu.c;h=e401d8dc75d34bf04d2e62da56df3cc08f0d470d;hp=e258d96fab4e730d42fc22c4a3e58870e42bda4e;hb=e6d6e2dc86bd63c7e702f68ffdb1e5a6ef723abc;hpb=5e7e64b952ac49cf61c4c3bfc02e5938c3691d94 diff --git a/urcu.c b/urcu.c index e258d96..e401d8d 100644 --- a/urcu.c +++ b/urcu.c @@ -117,7 +117,7 @@ void wait_for_quiescent_state(int parity) * Return old pointer, OK to free, no more reference exist. * Called under rcu_write_lock. */ -void *_urcu_publish_content(void **ptr, void *new) +void *urcu_publish_content(void **ptr, void *new) { int prev_parity; void *oldptr; @@ -185,7 +185,7 @@ void urcu_remove_reader(pthread_t id) assert(reader_data != NULL); for (index = reader_data; index < reader_data + num_readers; index++) { - if (index->tid == id) { + if (pthread_equal(index->tid, id)) { memcpy(index, &reader_data[num_readers - 1], sizeof(struct reader_data)); reader_data[num_readers - 1].tid = 0;