mirror of
https://github.com/zeromq/libzmq.git
synced 2024-12-12 10:33:52 +01:00
Merge pull request #1282 from hintjens/master
Fixed atomic API, which used 'bool'
This commit is contained in:
commit
d2bacdf591
@ -9,7 +9,7 @@ zmq_atomic_counter_dec - decrement an atomic counter
|
|||||||
|
|
||||||
SYNOPSIS
|
SYNOPSIS
|
||||||
--------
|
--------
|
||||||
*bool zmq_atomic_counter_dec (void *counter);*
|
*int zmq_atomic_counter_dec (void *counter);*
|
||||||
|
|
||||||
|
|
||||||
DESCRIPTION
|
DESCRIPTION
|
||||||
@ -21,8 +21,8 @@ operations.
|
|||||||
|
|
||||||
RETURN VALUE
|
RETURN VALUE
|
||||||
------------
|
------------
|
||||||
The _zmq_atomic_counter_dec()_ function returns true if the counter is
|
The _zmq_atomic_counter_dec()_ function returns 1 if the counter is
|
||||||
greater than zero after decrementing, or false if the counter reached
|
greater than zero after decrementing, or zero if the counter reached
|
||||||
zero.
|
zero.
|
||||||
|
|
||||||
|
|
||||||
@ -36,13 +36,14 @@ assert (zmq_atomic_counter_inc (counter) == 0);
|
|||||||
assert (zmq_atomic_counter_inc (counter) == 1);
|
assert (zmq_atomic_counter_inc (counter) == 1);
|
||||||
assert (zmq_atomic_counter_inc (counter) == 2);
|
assert (zmq_atomic_counter_inc (counter) == 2);
|
||||||
assert (zmq_atomic_counter_value (counter) == 3);
|
assert (zmq_atomic_counter_value (counter) == 3);
|
||||||
assert (zmq_atomic_counter_dec (counter) == true);
|
assert (zmq_atomic_counter_dec (counter) == 1);
|
||||||
assert (zmq_atomic_counter_dec (counter) == true);
|
assert (zmq_atomic_counter_dec (counter) == 1);
|
||||||
assert (zmq_atomic_counter_dec (counter) == false);
|
assert (zmq_atomic_counter_dec (counter) == 0);
|
||||||
zmq_atomic_counter_set (counter, 2);
|
zmq_atomic_counter_set (counter, 2);
|
||||||
assert (zmq_atomic_counter_dec (counter) == true);
|
assert (zmq_atomic_counter_dec (counter) == 1);
|
||||||
assert (zmq_atomic_counter_dec (counter) == false);
|
assert (zmq_atomic_counter_dec (counter) == 0);
|
||||||
zmq_atomic_counter_destroy (&counter);
|
zmq_atomic_counter_destroy (&counter);
|
||||||
|
return 0;
|
||||||
----
|
----
|
||||||
|
|
||||||
|
|
||||||
|
@ -36,13 +36,14 @@ assert (zmq_atomic_counter_inc (counter) == 0);
|
|||||||
assert (zmq_atomic_counter_inc (counter) == 1);
|
assert (zmq_atomic_counter_inc (counter) == 1);
|
||||||
assert (zmq_atomic_counter_inc (counter) == 2);
|
assert (zmq_atomic_counter_inc (counter) == 2);
|
||||||
assert (zmq_atomic_counter_value (counter) == 3);
|
assert (zmq_atomic_counter_value (counter) == 3);
|
||||||
assert (zmq_atomic_counter_dec (counter) == true);
|
assert (zmq_atomic_counter_dec (counter) == 1);
|
||||||
assert (zmq_atomic_counter_dec (counter) == true);
|
assert (zmq_atomic_counter_dec (counter) == 1);
|
||||||
assert (zmq_atomic_counter_dec (counter) == false);
|
assert (zmq_atomic_counter_dec (counter) == 0);
|
||||||
zmq_atomic_counter_set (counter, 2);
|
zmq_atomic_counter_set (counter, 2);
|
||||||
assert (zmq_atomic_counter_dec (counter) == true);
|
assert (zmq_atomic_counter_dec (counter) == 1);
|
||||||
assert (zmq_atomic_counter_dec (counter) == false);
|
assert (zmq_atomic_counter_dec (counter) == 0);
|
||||||
zmq_atomic_counter_destroy (&counter);
|
zmq_atomic_counter_destroy (&counter);
|
||||||
|
return 0;
|
||||||
----
|
----
|
||||||
|
|
||||||
|
|
||||||
|
@ -35,13 +35,14 @@ assert (zmq_atomic_counter_inc (counter) == 0);
|
|||||||
assert (zmq_atomic_counter_inc (counter) == 1);
|
assert (zmq_atomic_counter_inc (counter) == 1);
|
||||||
assert (zmq_atomic_counter_inc (counter) == 2);
|
assert (zmq_atomic_counter_inc (counter) == 2);
|
||||||
assert (zmq_atomic_counter_value (counter) == 3);
|
assert (zmq_atomic_counter_value (counter) == 3);
|
||||||
assert (zmq_atomic_counter_dec (counter) == true);
|
assert (zmq_atomic_counter_dec (counter) == 1);
|
||||||
assert (zmq_atomic_counter_dec (counter) == true);
|
assert (zmq_atomic_counter_dec (counter) == 1);
|
||||||
assert (zmq_atomic_counter_dec (counter) == false);
|
assert (zmq_atomic_counter_dec (counter) == 0);
|
||||||
zmq_atomic_counter_set (counter, 2);
|
zmq_atomic_counter_set (counter, 2);
|
||||||
assert (zmq_atomic_counter_dec (counter) == true);
|
assert (zmq_atomic_counter_dec (counter) == 1);
|
||||||
assert (zmq_atomic_counter_dec (counter) == false);
|
assert (zmq_atomic_counter_dec (counter) == 0);
|
||||||
zmq_atomic_counter_destroy (&counter);
|
zmq_atomic_counter_destroy (&counter);
|
||||||
|
return 0;
|
||||||
----
|
----
|
||||||
|
|
||||||
|
|
||||||
|
@ -36,13 +36,14 @@ assert (zmq_atomic_counter_inc (counter) == 0);
|
|||||||
assert (zmq_atomic_counter_inc (counter) == 1);
|
assert (zmq_atomic_counter_inc (counter) == 1);
|
||||||
assert (zmq_atomic_counter_inc (counter) == 2);
|
assert (zmq_atomic_counter_inc (counter) == 2);
|
||||||
assert (zmq_atomic_counter_value (counter) == 3);
|
assert (zmq_atomic_counter_value (counter) == 3);
|
||||||
assert (zmq_atomic_counter_dec (counter) == true);
|
assert (zmq_atomic_counter_dec (counter) == 1);
|
||||||
assert (zmq_atomic_counter_dec (counter) == true);
|
assert (zmq_atomic_counter_dec (counter) == 1);
|
||||||
assert (zmq_atomic_counter_dec (counter) == false);
|
assert (zmq_atomic_counter_dec (counter) == 0);
|
||||||
zmq_atomic_counter_set (counter, 2);
|
zmq_atomic_counter_set (counter, 2);
|
||||||
assert (zmq_atomic_counter_dec (counter) == true);
|
assert (zmq_atomic_counter_dec (counter) == 1);
|
||||||
assert (zmq_atomic_counter_dec (counter) == false);
|
assert (zmq_atomic_counter_dec (counter) == 0);
|
||||||
zmq_atomic_counter_destroy (&counter);
|
zmq_atomic_counter_destroy (&counter);
|
||||||
|
return 0;
|
||||||
----
|
----
|
||||||
|
|
||||||
|
|
||||||
|
@ -35,13 +35,14 @@ assert (zmq_atomic_counter_inc (counter) == 0);
|
|||||||
assert (zmq_atomic_counter_inc (counter) == 1);
|
assert (zmq_atomic_counter_inc (counter) == 1);
|
||||||
assert (zmq_atomic_counter_inc (counter) == 2);
|
assert (zmq_atomic_counter_inc (counter) == 2);
|
||||||
assert (zmq_atomic_counter_value (counter) == 3);
|
assert (zmq_atomic_counter_value (counter) == 3);
|
||||||
assert (zmq_atomic_counter_dec (counter) == true);
|
assert (zmq_atomic_counter_dec (counter) == 1);
|
||||||
assert (zmq_atomic_counter_dec (counter) == true);
|
assert (zmq_atomic_counter_dec (counter) == 1);
|
||||||
assert (zmq_atomic_counter_dec (counter) == false);
|
assert (zmq_atomic_counter_dec (counter) == 0);
|
||||||
zmq_atomic_counter_set (counter, 2);
|
zmq_atomic_counter_set (counter, 2);
|
||||||
assert (zmq_atomic_counter_dec (counter) == true);
|
assert (zmq_atomic_counter_dec (counter) == 1);
|
||||||
assert (zmq_atomic_counter_dec (counter) == false);
|
assert (zmq_atomic_counter_dec (counter) == 0);
|
||||||
zmq_atomic_counter_destroy (&counter);
|
zmq_atomic_counter_destroy (&counter);
|
||||||
|
return 0;
|
||||||
----
|
----
|
||||||
|
|
||||||
|
|
||||||
|
@ -34,13 +34,14 @@ assert (zmq_atomic_counter_inc (counter) == 0);
|
|||||||
assert (zmq_atomic_counter_inc (counter) == 1);
|
assert (zmq_atomic_counter_inc (counter) == 1);
|
||||||
assert (zmq_atomic_counter_inc (counter) == 2);
|
assert (zmq_atomic_counter_inc (counter) == 2);
|
||||||
assert (zmq_atomic_counter_value (counter) == 3);
|
assert (zmq_atomic_counter_value (counter) == 3);
|
||||||
assert (zmq_atomic_counter_dec (counter) == true);
|
assert (zmq_atomic_counter_dec (counter) == 1);
|
||||||
assert (zmq_atomic_counter_dec (counter) == true);
|
assert (zmq_atomic_counter_dec (counter) == 1);
|
||||||
assert (zmq_atomic_counter_dec (counter) == false);
|
assert (zmq_atomic_counter_dec (counter) == 0);
|
||||||
zmq_atomic_counter_set (counter, 2);
|
zmq_atomic_counter_set (counter, 2);
|
||||||
assert (zmq_atomic_counter_dec (counter) == true);
|
assert (zmq_atomic_counter_dec (counter) == 1);
|
||||||
assert (zmq_atomic_counter_dec (counter) == false);
|
assert (zmq_atomic_counter_dec (counter) == 0);
|
||||||
zmq_atomic_counter_destroy (&counter);
|
zmq_atomic_counter_destroy (&counter);
|
||||||
|
return 0;
|
||||||
----
|
----
|
||||||
|
|
||||||
|
|
||||||
|
@ -440,7 +440,7 @@ ZMQ_EXPORT int zmq_curve_keypair (char *z85_public_key, char *z85_secret_key);
|
|||||||
ZMQ_EXPORT void *zmq_atomic_counter_new (void);
|
ZMQ_EXPORT void *zmq_atomic_counter_new (void);
|
||||||
ZMQ_EXPORT void zmq_atomic_counter_set (void *counter, int value);
|
ZMQ_EXPORT void zmq_atomic_counter_set (void *counter, int value);
|
||||||
ZMQ_EXPORT int zmq_atomic_counter_inc (void *counter);
|
ZMQ_EXPORT int zmq_atomic_counter_inc (void *counter);
|
||||||
ZMQ_EXPORT bool zmq_atomic_counter_dec (void *counter);
|
ZMQ_EXPORT int zmq_atomic_counter_dec (void *counter);
|
||||||
ZMQ_EXPORT int zmq_atomic_counter_value (void *counter);
|
ZMQ_EXPORT int zmq_atomic_counter_value (void *counter);
|
||||||
ZMQ_EXPORT void zmq_atomic_counter_destroy (void **counter_p);
|
ZMQ_EXPORT void zmq_atomic_counter_destroy (void **counter_p);
|
||||||
|
|
||||||
|
@ -232,11 +232,12 @@ int zmq_atomic_counter_inc (void *counter_)
|
|||||||
return ((zmq::atomic_counter_t *) counter_)->add (1);
|
return ((zmq::atomic_counter_t *) counter_)->add (1);
|
||||||
}
|
}
|
||||||
|
|
||||||
// Decrement the atomic counter and return true if still > zero
|
// Decrement the atomic counter and return 1 (if counter >= 1), or
|
||||||
|
// 0 if counter hit zero.
|
||||||
|
|
||||||
bool zmq_atomic_counter_dec (void *counter_)
|
int zmq_atomic_counter_dec (void *counter_)
|
||||||
{
|
{
|
||||||
return ((zmq::atomic_counter_t *) counter_)->sub (1);
|
return ((zmq::atomic_counter_t *) counter_)->sub (1)? 1: 0;
|
||||||
}
|
}
|
||||||
|
|
||||||
// Return actual value of atomic counter
|
// Return actual value of atomic counter
|
||||||
|
@ -27,12 +27,12 @@ int main (void)
|
|||||||
assert (zmq_atomic_counter_inc (counter) == 1);
|
assert (zmq_atomic_counter_inc (counter) == 1);
|
||||||
assert (zmq_atomic_counter_inc (counter) == 2);
|
assert (zmq_atomic_counter_inc (counter) == 2);
|
||||||
assert (zmq_atomic_counter_value (counter) == 3);
|
assert (zmq_atomic_counter_value (counter) == 3);
|
||||||
assert (zmq_atomic_counter_dec (counter) == true);
|
assert (zmq_atomic_counter_dec (counter) == 1);
|
||||||
assert (zmq_atomic_counter_dec (counter) == true);
|
assert (zmq_atomic_counter_dec (counter) == 1);
|
||||||
assert (zmq_atomic_counter_dec (counter) == false);
|
assert (zmq_atomic_counter_dec (counter) == 0);
|
||||||
zmq_atomic_counter_set (counter, 2);
|
zmq_atomic_counter_set (counter, 2);
|
||||||
assert (zmq_atomic_counter_dec (counter) == true);
|
assert (zmq_atomic_counter_dec (counter) == 1);
|
||||||
assert (zmq_atomic_counter_dec (counter) == false);
|
assert (zmq_atomic_counter_dec (counter) == 0);
|
||||||
zmq_atomic_counter_destroy (&counter);
|
zmq_atomic_counter_destroy (&counter);
|
||||||
return 0;
|
return 0;
|
||||||
}
|
}
|
||||||
|
@ -25,8 +25,10 @@ zmq_msg_init(&msg) && printf("zmq_msg_init: %s\n", zmq_strerror(errno)); \
|
|||||||
zmq_msg_init_size (&msg, size + 1) && printf("zmq_msg_init_size: %s\n",zmq_strerror(errno)); \
|
zmq_msg_init_size (&msg, size + 1) && printf("zmq_msg_init_size: %s\n",zmq_strerror(errno)); \
|
||||||
memcpy(zmq_msg_data(&msg), data, size + 1);
|
memcpy(zmq_msg_data(&msg), data, size + 1);
|
||||||
|
|
||||||
int publicationsReceived = 0;
|
// TODO: this code fails to meet our style guidelines, and needs rewriting
|
||||||
bool isSubscribed = false;
|
|
||||||
|
static int publicationsReceived = 0;
|
||||||
|
static bool isSubscribed = false;
|
||||||
|
|
||||||
int main(int, char**) {
|
int main(int, char**) {
|
||||||
setup_test_environment();
|
setup_test_environment();
|
||||||
|
@ -27,7 +27,7 @@
|
|||||||
// This defines the settle time used in tests; raise this if we
|
// This defines the settle time used in tests; raise this if we
|
||||||
// get test failures on slower systems due to binds/connects not
|
// get test failures on slower systems due to binds/connects not
|
||||||
// settled. Tested to work reliably at 1 msec on a fast PC.
|
// settled. Tested to work reliably at 1 msec on a fast PC.
|
||||||
#define SETTLE_TIME 10 // In msec
|
#define SETTLE_TIME 50 // In msec
|
||||||
|
|
||||||
#undef NDEBUG
|
#undef NDEBUG
|
||||||
#include <time.h>
|
#include <time.h>
|
||||||
|
Loading…
Reference in New Issue
Block a user