WARNING: THIS SITE IS A MIRROR OF GITHUB.COM / IT CANNOT LOGIN OR REGISTER ACCOUNTS / THE CONTENTS ARE PROVIDED AS-IS / THIS SITE ASSUMES NO RESPONSIBILITY FOR ANY DISPLAYED CONTENT OR LINKS / IF YOU FOUND SOMETHING MAY NOT GOOD FOR EVERYONE, CONTACT ADMIN AT ilovescratch@foxmail.com
Skip to content

Commit 93890e3

Browse files
David-Haimchausnerautoantwort
authored
Version 0.1.3 (#53)
- `resume_on` improvements - `binary_semaphore` polyfill for appleclang - enable dynamic linking on Windows - typo fixes Co-authored-by: chausner <[email protected]> Co-authored-by: autoantwort <[email protected]>
1 parent cbfc4a1 commit 93890e3

22 files changed

+221
-95
lines changed

CMakeLists.txt

Lines changed: 10 additions & 9 deletions
Original file line numberDiff line numberDiff line change
@@ -1,7 +1,7 @@
11
cmake_minimum_required(VERSION 3.16)
22

33
project(concurrencpp
4-
VERSION 0.1.2
4+
VERSION 0.1.3
55
LANGUAGES CXX)
66

77
include(cmake/coroutineOptions.cmake)
@@ -15,6 +15,7 @@ if(concurrencpp_INCLUDE_WITHOUT_SYSTEM)
1515
endif()
1616

1717
# ---- Declare library ----
18+
set(CMAKE_WINDOWS_EXPORT_ALL_SYMBOLS TRUE)
1819

1920
set(concurrencpp_sources
2021
source/task.cpp
@@ -28,6 +29,7 @@ set(concurrencpp_sources
2829
source/results/impl/shared_result_state.cpp
2930
source/results/promises.cpp
3031
source/runtime/runtime.cpp
32+
source/threads/binary_semaphore.cpp
3133
source/threads/thread.cpp
3234
source/timers/timer.cpp
3335
source/timers/timer_queue.cpp)
@@ -36,7 +38,7 @@ set(concurrencpp_headers
3638
include/concurrencpp/concurrencpp.h
3739
include/concurrencpp/errors.h
3840
include/concurrencpp/task.h
39-
include/concurrencpp/forward_declerations.h
41+
include/concurrencpp/forward_declarations.h
4042
include/concurrencpp/platform_defs.h
4143
include/concurrencpp/coroutines/coroutine.h
4244
include/concurrencpp/executors/constants.h
@@ -62,18 +64,19 @@ set(concurrencpp_headers
6264
include/concurrencpp/results/shared_result.h
6365
include/concurrencpp/results/result_awaitable.h
6466
include/concurrencpp/results/shared_result_awaitable.h
65-
include/concurrencpp/results/result_fwd_declerations.h
67+
include/concurrencpp/results/result_fwd_declarations.h
6668
include/concurrencpp/results/when_result.h
6769
include/concurrencpp/results/resume_on.h
6870
include/concurrencpp/runtime/constants.h
6971
include/concurrencpp/runtime/runtime.h
72+
include/concurrencpp/threads/binary_semaphore.h
7073
include/concurrencpp/threads/thread.h
7174
include/concurrencpp/timers/constants.h
7275
include/concurrencpp/timers/timer.h
7376
include/concurrencpp/timers/timer_queue.h
7477
include/concurrencpp/utils/bind.h)
7578

76-
add_library(concurrencpp STATIC ${concurrencpp_headers} ${concurrencpp_sources})
79+
add_library(concurrencpp ${concurrencpp_headers} ${concurrencpp_sources})
7780
add_library(concurrencpp::concurrencpp ALIAS concurrencpp)
7881

7982
target_include_directories(concurrencpp
@@ -98,11 +101,9 @@ set(concurrencpp_include_directory "${CMAKE_INSTALL_INCLUDEDIR}/${concurrencpp_d
98101

99102
install(TARGETS concurrencpp
100103
EXPORT concurrencppTargets
101-
ARCHIVE #
102-
DESTINATION "${CMAKE_INSTALL_LIBDIR}"
103-
COMPONENT concurrencpp_Development
104-
INCLUDES #
105-
DESTINATION "${concurrencpp_include_directory}")
104+
ARCHIVE DESTINATION "${CMAKE_INSTALL_LIBDIR}" COMPONENT concurrencpp_Development
105+
RUNTIME DESTINATION "${CMAKE_INSTALL_BINDIR}" COMPONENT concurrencpp_Development
106+
INCLUDES DESTINATION "${concurrencpp_include_directory}")
106107

107108
set(concurrencpp_install_cmakedir
108109
"${CMAKE_INSTALL_LIBDIR}/cmake/${concurrencpp_directory}")

README.md

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1545,7 +1545,7 @@ Task objects apply the short-buffer-optimization (sbo) for regular, small callab
15451545
/*
15461546
Returns true if *this stores a callable. false otherwise.
15471547
*/
1548-
expliit operator bool() const noexcept;
1548+
explicit operator bool() const noexcept;
15491549
15501550
/*
15511551
Returns true if *this stores a callable,

include/concurrencpp/concurrencpp.h

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,7 +1,7 @@
11
#ifndef CONCURRENCPP_H
22
#define CONCURRENCPP_H
33

4-
#include "concurrencpp/forward_declerations.h"
4+
#include "concurrencpp/forward_declarations.h"
55
#include "concurrencpp/platform_defs.h"
66

77
#include "concurrencpp/timers/timer.h"

include/concurrencpp/executors/thread_pool_executor.h

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -2,11 +2,11 @@
22
#define CONCURRENCPP_THREAD_POOL_EXECUTOR_H
33

44
#include "concurrencpp/threads/thread.h"
5+
#include "concurrencpp/threads/binary_semaphore.h"
56
#include "concurrencpp/executors/derivable_executor.h"
67

78
#include <deque>
89
#include <mutex>
9-
#include <semaphore>
1010

1111
namespace concurrencpp::details {
1212
class idle_worker_set {
@@ -49,7 +49,7 @@ namespace concurrencpp::details {
4949
const std::string m_worker_name;
5050
alignas(64) std::mutex m_lock;
5151
std::deque<task> m_public_queue;
52-
std::binary_semaphore m_semaphore;
52+
binary_semaphore m_semaphore;
5353
bool m_idle;
5454
bool m_abort;
5555
std::atomic_bool m_event_found;

include/concurrencpp/executors/worker_thread_executor.h

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -2,11 +2,11 @@
22
#define CONCURRENCPP_WORKER_THREAD_EXECUTOR_H
33

44
#include "concurrencpp/threads/thread.h"
5+
#include "concurrencpp/threads/binary_semaphore.h"
56
#include "concurrencpp/executors/derivable_executor.h"
67

78
#include <deque>
89
#include <mutex>
9-
#include <semaphore>
1010

1111
namespace concurrencpp {
1212
class alignas(64) worker_thread_executor final : public derivable_executor<worker_thread_executor> {
@@ -17,7 +17,7 @@ namespace concurrencpp {
1717
details::thread m_thread;
1818
alignas(64) std::mutex m_lock;
1919
std::deque<task> m_public_queue;
20-
std::binary_semaphore m_semaphore;
20+
details::binary_semaphore m_semaphore;
2121
std::atomic_bool m_atomic_abort;
2222
bool m_abort;
2323

include/concurrencpp/forward_declerations.h renamed to include/concurrencpp/forward_declarations.h

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -1,5 +1,5 @@
1-
#ifndef CONCURRENCPP_FORWARD_DECLERATIONS_H
2-
#define CONCURRENCPP_FORWARD_DECLERATIONS_H
1+
#ifndef CONCURRENCPP_FORWARD_DECLARATIONS_H
2+
#define CONCURRENCPP_FORWARD_DECLARATIONS_H
33

44
namespace concurrencpp {
55
struct null_result;
@@ -29,4 +29,4 @@ namespace concurrencpp {
2929
class manual_executor;
3030
} // namespace concurrencpp
3131

32-
#endif // FORWARD_DECLERATIONS_H
32+
#endif // FORWARD_DECLARATIONS_H

include/concurrencpp/platform_defs.h

Lines changed: 6 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -25,4 +25,10 @@
2525
# define CRCPP_DEBUG_MODE
2626
#endif
2727

28+
#include <exception>
29+
30+
#if defined(_LIBCPP_VERSION)
31+
# define CRCPP_LIBCPP_LIB
32+
#endif
33+
2834
#endif // PLATFORM_DEFS_H

include/concurrencpp/results/impl/consumer_context.h

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -2,7 +2,7 @@
22
#define CONCURRENCPP_CONSUMER_CONTEXT_H
33

44
#include "concurrencpp/coroutines/coroutine.h"
5-
#include "concurrencpp/results/result_fwd_declerations.h"
5+
#include "concurrencpp/results/result_fwd_declarations.h"
66

77
#include <mutex>
88
#include <condition_variable>

include/concurrencpp/results/impl/lazy_result_state.h

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -3,7 +3,7 @@
33

44
#include "concurrencpp/coroutines/coroutine.h"
55
#include "concurrencpp/results/impl/producer_context.h"
6-
#include "concurrencpp/results/result_fwd_declerations.h"
6+
#include "concurrencpp/results/result_fwd_declarations.h"
77

88
namespace concurrencpp::details {
99
struct lazy_final_awaiter : public suspend_always {

include/concurrencpp/results/impl/producer_context.h

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,7 +1,7 @@
11
#ifndef CONCURRENCPP_PRODUCER_CONTEXT_H
22
#define CONCURRENCPP_PRODUCER_CONTEXT_H
33

4-
#include "concurrencpp/results/result_fwd_declerations.h"
4+
#include "concurrencpp/results/result_fwd_declarations.h"
55

66
#include <exception>
77

0 commit comments

Comments
 (0)