Description[Fuchsia] EventHandler: epoll -> ports v2
This CL rewrites the EventHandler on Fuchsia to use
the low-level ports system call API instead of the
epoll() emulation in musl. This will allow the
Magenta team to remove the epoll() emulation and
the deprecated system call API it is based on.
The new ports API doesn't provide epoll()-like
edge-triggering that clients of the EventHandler
expect. Therefore, this CL emulates it by adding
a level of indirection through a new "IOHandle"
object, which the socket code now uses instead
of file descriptors. This is similar to what we do
on Windows. See the comment at the top of
eventhandler_fuchsia.cc for more details.
Fuchsia issue US-251
R=asiva@google.com
Committed: https://github.com/dart-lang/sdk/commit/bad6b64062912b3dedf80cd0c9bd9c0c0ec3bbcb
Patch Set 1 #Patch Set 2 : WIP #Patch Set 3 : IOHandle #Patch Set 4 : WIP #Patch Set 5 : Use unused signals for synthetic read/write #Patch Set 6 : Clenaup, locking #Patch Set 7 : Cleanup logging #Patch Set 8 : Fix Process. hello_fuchsia passes. #Patch Set 9 : Cleanup #Patch Set 10 : Format #
Total comments: 2
Patch Set 11 : Use user packets instead of asserting signals #Patch Set 12 : Call async wait directly from the Dart thread #
Total comments: 2
Patch Set 13 : Remove unused function #
Total comments: 13
Patch Set 14 : Address comments #Patch Set 15 : Address comments #
Total comments: 2
Patch Set 16 : Fix typo #
Messages
Total messages: 23 (6 generated)
|