summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--librabbitmq/amqp_socket.c5
-rw-r--r--librabbitmq/amqp_time.c10
-rw-r--r--librabbitmq/amqp_time.h4
3 files changed, 4 insertions, 15 deletions
diff --git a/librabbitmq/amqp_socket.c b/librabbitmq/amqp_socket.c
index 5f2878d..fdff1d2 100644
--- a/librabbitmq/amqp_socket.c
+++ b/librabbitmq/amqp_socket.c
@@ -760,7 +760,10 @@ int amqp_try_recv(amqp_connection_state_t state) {
state->last_queued_frame = link;
}
}
- timeout = amqp_time_immediate();
+ int res = amqp_time_s_from_now(&timeout, 0);
+ if (AMQP_STATUS_OK != res) {
+ return res;
+ }
return recv_with_timeout(state, timeout);
}
diff --git a/librabbitmq/amqp_time.c b/librabbitmq/amqp_time.c
index d3343f6..d61483a 100644
--- a/librabbitmq/amqp_time.c
+++ b/librabbitmq/amqp_time.c
@@ -111,10 +111,6 @@ int amqp_time_from_now(amqp_time_t *time, const struct timeval *timeout) {
*time = amqp_time_infinite();
return AMQP_STATUS_OK;
}
- if (0 == timeout->tv_sec && 0 == timeout->tv_usec) {
- *time = amqp_time_immediate();
- return AMQP_STATUS_OK;
- }
if (timeout->tv_sec < 0 || timeout->tv_usec < 0) {
return AMQP_STATUS_INVALID_PARAMETER;
@@ -160,12 +156,6 @@ int amqp_time_s_from_now(amqp_time_t *time, int seconds) {
return AMQP_STATUS_OK;
}
-amqp_time_t amqp_time_immediate(void) {
- amqp_time_t time;
- time.time_point_ns = 0;
- return time;
-}
-
amqp_time_t amqp_time_infinite(void) {
amqp_time_t time;
time.time_point_ns = UINT64_MAX;
diff --git a/librabbitmq/amqp_time.h b/librabbitmq/amqp_time.h
index 4478671..0d971a9 100644
--- a/librabbitmq/amqp_time.h
+++ b/librabbitmq/amqp_time.h
@@ -62,7 +62,6 @@ uint64_t amqp_get_monotonic_timestamp(void);
/* Get a amqp_time_t that is timeout from now.
* If timeout is NULL, an amqp_time_infinite() is created.
- * If timeout = {0, 0}, an amqp_time_immediate() is created.
*
* Returns AMQP_STATUS_OK on success.
* AMQP_STATUS_INVALID_PARAMETER if timeout is invalid
@@ -80,9 +79,6 @@ int amqp_time_from_now(amqp_time_t *time, const struct timeval *timeout);
*/
int amqp_time_s_from_now(amqp_time_t *time, int seconds);
-/* Create an immediate amqp_time_t */
-amqp_time_t amqp_time_immediate(void);
-
/* Create an infinite amqp_time_t */
amqp_time_t amqp_time_infinite(void);