summaryrefslogtreecommitdiffstats
path: root/contrib/restricted/aws/aws-c-common/source/posix/condition_variable.c
diff options
context:
space:
mode:
authorunril <[email protected]>2022-02-10 16:46:05 +0300
committerDaniil Cherednik <[email protected]>2022-02-10 16:46:05 +0300
commit11ae9eca250d0188b7962459cbc6706719e7dca9 (patch)
tree4b7d6755091980d33210de19b2eb35a401a761ea /contrib/restricted/aws/aws-c-common/source/posix/condition_variable.c
parent9c914f41ba5e9f9365f404e892197553ac23809e (diff)
Restoring authorship annotation for <[email protected]>. Commit 1 of 2.
Diffstat (limited to 'contrib/restricted/aws/aws-c-common/source/posix/condition_variable.c')
-rw-r--r--contrib/restricted/aws/aws-c-common/source/posix/condition_variable.c174
1 files changed, 87 insertions, 87 deletions
diff --git a/contrib/restricted/aws/aws-c-common/source/posix/condition_variable.c b/contrib/restricted/aws/aws-c-common/source/posix/condition_variable.c
index ca321c6bfad..b4914e919b0 100644
--- a/contrib/restricted/aws/aws-c-common/source/posix/condition_variable.c
+++ b/contrib/restricted/aws/aws-c-common/source/posix/condition_variable.c
@@ -1,39 +1,39 @@
/**
* Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved.
* SPDX-License-Identifier: Apache-2.0.
- */
-
-#include <aws/common/condition_variable.h>
-
-#include <aws/common/clock.h>
-#include <aws/common/mutex.h>
-
-#include <errno.h>
-
-static int process_error_code(int err) {
- switch (err) {
- case ENOMEM:
- return aws_raise_error(AWS_ERROR_OOM);
- case ETIMEDOUT:
- return aws_raise_error(AWS_ERROR_COND_VARIABLE_TIMED_OUT);
- default:
- return aws_raise_error(AWS_ERROR_COND_VARIABLE_ERROR_UNKNOWN);
- }
-}
-
-int aws_condition_variable_init(struct aws_condition_variable *condition_variable) {
+ */
+
+#include <aws/common/condition_variable.h>
+
+#include <aws/common/clock.h>
+#include <aws/common/mutex.h>
+
+#include <errno.h>
+
+static int process_error_code(int err) {
+ switch (err) {
+ case ENOMEM:
+ return aws_raise_error(AWS_ERROR_OOM);
+ case ETIMEDOUT:
+ return aws_raise_error(AWS_ERROR_COND_VARIABLE_TIMED_OUT);
+ default:
+ return aws_raise_error(AWS_ERROR_COND_VARIABLE_ERROR_UNKNOWN);
+ }
+}
+
+int aws_condition_variable_init(struct aws_condition_variable *condition_variable) {
AWS_PRECONDITION(condition_variable);
- if (pthread_cond_init(&condition_variable->condition_handle, NULL)) {
+ if (pthread_cond_init(&condition_variable->condition_handle, NULL)) {
AWS_ZERO_STRUCT(*condition_variable);
- return aws_raise_error(AWS_ERROR_COND_VARIABLE_INIT_FAILED);
- }
-
+ return aws_raise_error(AWS_ERROR_COND_VARIABLE_INIT_FAILED);
+ }
+
condition_variable->initialized = true;
- return AWS_OP_SUCCESS;
-}
-
-void aws_condition_variable_clean_up(struct aws_condition_variable *condition_variable) {
+ return AWS_OP_SUCCESS;
+}
+
+void aws_condition_variable_clean_up(struct aws_condition_variable *condition_variable) {
AWS_PRECONDITION(condition_variable);
if (condition_variable->initialized) {
@@ -41,71 +41,71 @@ void aws_condition_variable_clean_up(struct aws_condition_variable *condition_va
}
AWS_ZERO_STRUCT(*condition_variable);
-}
-
-int aws_condition_variable_notify_one(struct aws_condition_variable *condition_variable) {
+}
+
+int aws_condition_variable_notify_one(struct aws_condition_variable *condition_variable) {
AWS_PRECONDITION(condition_variable && condition_variable->initialized);
- int err_code = pthread_cond_signal(&condition_variable->condition_handle);
-
- if (err_code) {
- return process_error_code(err_code);
- }
-
- return AWS_OP_SUCCESS;
-}
-
-int aws_condition_variable_notify_all(struct aws_condition_variable *condition_variable) {
+ int err_code = pthread_cond_signal(&condition_variable->condition_handle);
+
+ if (err_code) {
+ return process_error_code(err_code);
+ }
+
+ return AWS_OP_SUCCESS;
+}
+
+int aws_condition_variable_notify_all(struct aws_condition_variable *condition_variable) {
AWS_PRECONDITION(condition_variable && condition_variable->initialized);
- int err_code = pthread_cond_broadcast(&condition_variable->condition_handle);
-
- if (err_code) {
- return process_error_code(err_code);
- }
-
- return AWS_OP_SUCCESS;
-}
-
-int aws_condition_variable_wait(struct aws_condition_variable *condition_variable, struct aws_mutex *mutex) {
+ int err_code = pthread_cond_broadcast(&condition_variable->condition_handle);
+
+ if (err_code) {
+ return process_error_code(err_code);
+ }
+
+ return AWS_OP_SUCCESS;
+}
+
+int aws_condition_variable_wait(struct aws_condition_variable *condition_variable, struct aws_mutex *mutex) {
AWS_PRECONDITION(condition_variable && condition_variable->initialized);
AWS_PRECONDITION(mutex && mutex->initialized);
- int err_code = pthread_cond_wait(&condition_variable->condition_handle, &mutex->mutex_handle);
-
- if (err_code) {
- return process_error_code(err_code);
- }
-
- return AWS_OP_SUCCESS;
-}
-
-int aws_condition_variable_wait_for(
- struct aws_condition_variable *condition_variable,
- struct aws_mutex *mutex,
- int64_t time_to_wait) {
-
+ int err_code = pthread_cond_wait(&condition_variable->condition_handle, &mutex->mutex_handle);
+
+ if (err_code) {
+ return process_error_code(err_code);
+ }
+
+ return AWS_OP_SUCCESS;
+}
+
+int aws_condition_variable_wait_for(
+ struct aws_condition_variable *condition_variable,
+ struct aws_mutex *mutex,
+ int64_t time_to_wait) {
+
AWS_PRECONDITION(condition_variable && condition_variable->initialized);
AWS_PRECONDITION(mutex && mutex->initialized);
- uint64_t current_sys_time = 0;
- if (aws_sys_clock_get_ticks(&current_sys_time)) {
- return AWS_OP_ERR;
- }
-
- time_to_wait += current_sys_time;
-
- struct timespec ts;
- uint64_t remainder = 0;
- ts.tv_sec =
- (time_t)aws_timestamp_convert((uint64_t)time_to_wait, AWS_TIMESTAMP_NANOS, AWS_TIMESTAMP_SECS, &remainder);
- ts.tv_nsec = (long)remainder;
-
- int err_code = pthread_cond_timedwait(&condition_variable->condition_handle, &mutex->mutex_handle, &ts);
-
- if (err_code) {
- return process_error_code(err_code);
- }
-
- return AWS_OP_SUCCESS;
-}
+ uint64_t current_sys_time = 0;
+ if (aws_sys_clock_get_ticks(&current_sys_time)) {
+ return AWS_OP_ERR;
+ }
+
+ time_to_wait += current_sys_time;
+
+ struct timespec ts;
+ uint64_t remainder = 0;
+ ts.tv_sec =
+ (time_t)aws_timestamp_convert((uint64_t)time_to_wait, AWS_TIMESTAMP_NANOS, AWS_TIMESTAMP_SECS, &remainder);
+ ts.tv_nsec = (long)remainder;
+
+ int err_code = pthread_cond_timedwait(&condition_variable->condition_handle, &mutex->mutex_handle, &ts);
+
+ if (err_code) {
+ return process_error_code(err_code);
+ }
+
+ return AWS_OP_SUCCESS;
+}