Jonathan Klimt
1aa1a0c0d5
Fixed minor typo in example code ( #769 )
...
`WaitingOnFooTxt` -> `WaitingOnBarTxt`
2020-03-28 11:39:02 +01:00
Philipp Oppermann
74969cd1be
Move toc_aside out of <main>
...
This way, we avoid that the table of contents is picked for link previews by third-party sites.
2020-03-27 18:02:46 +01:00
Philipp Oppermann
6163821401
Merge pull request #767 from phil-opp/async-await
...
New post about Async/Await
2020-03-27 17:34:42 +01:00
Philipp Oppermann
fb2b6f3685
Update chapter name of post
2020-03-27 17:30:37 +01:00
Philipp Oppermann
5286828cb8
Set release date for post
2020-03-27 17:24:06 +01:00
Philipp Oppermann
d29a28591e
Finish the post
2020-03-27 17:23:29 +01:00
Philipp Oppermann
da58c31ed4
Fill in required nightly version and note missing rustfmt
2020-03-26 18:23:21 +01:00
Philipp Oppermann
55bfb1d550
Minor improvements
2020-03-26 18:12:25 +01:00
Philipp Oppermann
4d326ef806
Ignore linkedin.com in link checking
2020-03-26 17:24:40 +01:00
Philipp Oppermann
117fcbddd4
Resolve remaining TODO-links
2020-03-26 17:18:22 +01:00
Philipp Oppermann
46fbd2454c
Add TODO for updating release date before publishing
2020-03-26 17:02:20 +01:00
Philipp Oppermann
fe0c8ccb0c
Add job seeking note
2020-03-26 17:02:01 +01:00
Philipp Oppermann
e76e71f285
Write introduction
2020-03-26 17:01:39 +01:00
Philipp Oppermann
358a05c0fa
Fix some typos
2020-03-26 13:42:05 +01:00
Philipp Oppermann
1264a44aa0
Don't check links to github.com because of rate limiting
2020-03-26 13:42:05 +01:00
Philipp Oppermann
9c96651e70
Write summary and what's next sections
2020-03-26 13:42:05 +01:00
Philipp Oppermann
8e758c383c
Finish implementation of executor with waker support
2020-03-26 13:42:05 +01:00
Philipp Oppermann
886d7411ae
Begin working on executor with waker support
2020-03-26 13:42:05 +01:00
Philipp Oppermann
7600a763a2
Unregister keyboard waker when we can continue
...
Avoids that the waker stored in the waker_cache in the executor is dropped first. Thus, it avoids that the waker is deallocated inside interrupt handlers.
2020-03-26 13:42:05 +01:00
Philipp Oppermann
8d3cdf62e3
Add keyboard output gif
2020-03-26 13:42:05 +01:00
Philipp Oppermann
9e5e993a1b
Fix typo
2020-03-26 13:42:05 +01:00
Philipp Oppermann
5a879058c9
Minor fixes
2020-03-26 13:42:05 +01:00
Philipp Oppermann
c26d36ebce
Prevent deadlock by basing DummyWaker directly on RawWaker
...
Don't use Arc for DummyWaker. It causes a drop in the `add_scancode` function, which can easily lead to a deadlock because the function is called directly from the interrupt handler.
2020-03-26 13:42:05 +01:00
Philipp Oppermann
89f5350ac4
Start explaining the deadlock problem caused by Arc dealloc
2020-03-26 13:42:05 +01:00
Philipp Oppermann
c423363266
Small fixes to text and code examples
2020-03-26 13:42:05 +01:00
Philipp Oppermann
000adfb2be
Create a keyboard task and use it with our SimpleExecutor
2020-03-26 13:42:05 +01:00
Philipp Oppermann
4f29fdea72
Add Waker support to the poll_next implementation on ScancodeStream
2020-03-26 13:42:05 +01:00
Philipp Oppermann
c3648e4b20
Implement Stream for ScancodeStream
2020-03-26 13:42:05 +01:00
Philipp Oppermann
dd83feec2d
Add section about filling the scancode queue
2020-03-26 13:42:05 +01:00
Philipp Oppermann
45afd2032b
Add section about scancode queue
2020-03-26 13:42:05 +01:00
Philipp Oppermann
744314cb3a
Begin section about async keyboard interrupt
2020-03-26 13:41:25 +01:00
Philipp Oppermann
1907e5d3ce
Summarize execution steps for the simple executor example
2020-03-26 13:41:25 +01:00
Philipp Oppermann
50db561774
Update implementation section
2020-03-26 13:41:25 +01:00
Philipp Oppermann
326a35939a
Start implementation section
2020-03-26 13:41:25 +01:00
Philipp Oppermann
ae167faee5
Explain how async/await implements cooperative multitasking
2020-03-26 13:41:25 +01:00
Philipp Oppermann
fb0f30b9f0
Write section about executors and wakers
2020-03-26 13:41:25 +01:00
Philipp Oppermann
75e2626dc0
Some minor improvements
2020-03-26 13:41:25 +01:00
Philipp Oppermann
def0e6762d
Add images for pinning section
2020-03-26 13:41:25 +01:00
Rob Gries
ba6452c5b0
Fix typos ( #759 )
2020-03-26 13:41:25 +01:00
Philipp Oppermann
817c0c56ab
Fix typo
2020-03-26 13:41:25 +01:00
Philipp Oppermann
81f71982f4
Finish first draft of pinning section
2020-03-26 13:41:25 +01:00
Philipp Oppermann
bf07f26e73
Begin section about pinning
2020-03-26 13:41:25 +01:00
Philipp Oppermann
642ff0f27f
Minor improvement
2020-03-26 13:41:25 +01:00
Philipp Oppermann
58faf5adf0
Remove old section
2020-03-26 13:41:25 +01:00
Philipp Oppermann
868a6f03ec
Add explantion for state machine code
2020-03-26 13:41:25 +01:00
Philipp Oppermann
2ff011ffba
Split code example into individual match cases; add code for example
2020-03-26 13:41:25 +01:00
Philipp Oppermann
7ce491df53
Start creating full state machine for example
2020-03-26 13:41:25 +01:00
Philipp Oppermann
3d89841a51
Update async/await sections and 'saving state' section
2020-03-26 13:41:25 +01:00
Philipp Oppermann
3cff5d0961
Small improvements
2020-03-26 13:41:25 +01:00
Philipp Oppermann
51a02a4064
Typo fix
2020-03-26 13:41:25 +01:00