Skip to content

Commit b907fb5

Browse files
authored
Merge pull request #21 from bxparks/develop
merge v1.2 into master
2 parents 6e6fb2e + f3e2e9f commit b907fb5

File tree

92 files changed

+3780
-2384
lines changed

Some content is hidden

Large Commits have some content hidden by default. Use the searchbox below for content that may be hidden.

92 files changed

+3780
-2384
lines changed

.github/workflows/aunit_tests.yml

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -6,7 +6,7 @@ jobs:
66
build:
77

88
runs-on: ubuntu-18.04
9-
9+
1010
steps:
1111
- uses: actions/checkout@v2
1212

CHANGELOG.md

Lines changed: 22 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,28 @@
11
# Changelog
22

33
* Unreleased
4+
* 1.2 (2020-11-10)
5+
* Fix an infinite loop in the internal singly-linked list of coroutines when
6+
`resume()` is called immediately after `suspend()`, without waiting for
7+
`CoroutineScheduler::loop()` to actually remove the coroutine from the
8+
list. The fix no longer removes suspended coroutine from the linked list,
9+
simplifying the code considerably. Fixes [Issue
10+
#19](https://github.com/bxparks/AceRoutine/issues/19).
11+
* Fix incorrect status set by `Coroutine::reset()` which prevented it from
12+
actually working. Fixes [Issue
13+
#20](https://github.com/bxparks/AceRoutine/issues/20).
14+
* **Potentially Breaking**: The internal linked list of coroutines is now
15+
considered to be a private implementation detail that may change in the
16+
future. The ordering of the list of coroutines is now undefined. The
17+
`Coroutine::getRoot()` and `Coroutine::getNext()` public methods are now
18+
private. The new `setupCoroutineOrderedByName()` methods replicate the old
19+
behavior, but these are exposed only for testing purposes.
20+
* Fix documentation bug in README.md to say that `suspend()` and `resume()`
21+
*should not* be called within the coroutine itself. They can only be
22+
called from outside the coroutine. They are no-ops inside a coroutine.
23+
* Extract lengthy Usage section of `README.md` into `USER_GUIDE.md`. Add
24+
table of contents to help navigate the long document. Rewrite and update
25+
content to be more useful and more clear hopefully.
426
* 1.1 (2020-11-01)
527
* Add a `Coroutine::reset()` method that causes the Coroutine to restart
628
from the beginning of the coroutine upon the next iteration. (Fixes #13

0 commit comments

Comments
 (0)