Chromium Code Reviews
chromiumcodereview-hr@appspot.gserviceaccount.com (chromiumcodereview-hr) | Please choose your nickname with Settings | Help | Chromium Project | Gerrit Changes | Sign out
(755)

Side by Side Diff: docs/intro/handles.md

Issue 1756603003: Add moar documentation. (Closed) Base URL: https://github.com/domokit/mojo.git@master
Patch Set: Created 4 years, 9 months ago
Use n/p to move between diff chunks; N/P to move between comments. Draft comments are only viewable by you.
Jump to:
View unified diff | Download patch
« no previous file with comments | « no previous file | docs/intro/message_pipes.md » ('j') | no next file with comments »
Toggle Intra-line Diffs ('i') | Expand Comments ('e') | Collapse Comments ('c') | Show Comments Hide Comments ('s')
OLDNEW
1 # Mojo handles (objects) 1 # Mojo handles (objects)
2 2
3 **TODO(vtl)** 3 Mojo handles are analogous to Unix file descriptors or Windows `HANDLE`s. That
4 is, they are basically-opaque integers that a program can use to refer to system
5 resources. Like their Unix and Windows equivalents, a Mojo handle value only has
6 meaning within a given process.
7
8 That said, there are some differences:
9 * There is a single value, 0, that is guaranteed to never be a valid Mojo
10 handle. This is unlike Unix, where all negative file descriptors are usually
11 taken to be invalid, even if -1 is often taken to be the "canonical" invalid
12 file descriptor value.
13 * The allocation of Mojo handle values is not specified. This is unlike Unix,
14 where file descriptors are allocated sequentially, with the lowest (positive)
15 unused value allocated.
16 * Unlike Windows, there are no "pseudohandles". That is, there is no Mojo handle
17 value whose meaning is context dependent (within the same process).
18 * In general, Mojo handles need not be duplicatable, whereas their Unix and
19 Windows equivalents can universally be duplicated.
20 * Mojo handles can be sent across [message pipes](message_pipes.md). Unlike
21 sending file descriptors over Unix domain sockets (using `SCM_RIGHTS`), this
22 is done with transfer semantics: after a message with attached Mojo handles is
23 sent, the Mojo handle values become invalid in the sending process. (Even if
24 the receiving process is the same as the sending process, the received Mojo
25 handle values will probably be different from the values that were sent.)
26 * Mojo handles have a well-defined life-cycle, and are only invalidated by
27 either transfer across a message pipe (as above) or by closing them. Unlike
28 Unix's overloaded `close()` (which may fail due to data loss, i.e., inability
29 to flush), closing a (valid) Mojo handle never fails.
OLDNEW
« no previous file with comments | « no previous file | docs/intro/message_pipes.md » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698