ext/libuv/docs/src/guide/basics.rst in libuv-3.2.1 vs ext/libuv/docs/src/guide/basics.rst in libuv-3.2.2
- old
+ new
@@ -84,11 +84,11 @@
With the basics out of the way, lets write our first libuv program. It does
nothing, except start a loop which will exit immediately.
.. rubric:: helloworld/main.c
-.. literalinclude:: ../code/helloworld/main.c
+.. literalinclude:: ../../code/helloworld/main.c
:linenos:
This program quits immediately because it has no events to process. A libuv
event loop has to be told to watch out for events using the various API
functions.
@@ -134,11 +134,11 @@
usually done by creating a **handle** to an I/O device, timer or process.
Handles are opaque structs named as ``uv_TYPE_t`` where type signifies what the
handle is used for.
.. rubric:: libuv watchers
-.. literalinclude:: ../libuv/include/uv.h
+.. literalinclude:: ../../../include/uv.h
:lines: 197-230
Handles represent long-lived objects. Async operations on such handles are
identified using **requests**. A request is short-lived (usually used across
only one callback) and usually indicates one I/O operation on a handle.
@@ -168,10 +168,10 @@
and see how ``uv_run()`` will now block because a watcher is present. The idle
watcher is stopped when the count is reached and ``uv_run()`` exits since no
event watchers are active.
.. rubric:: idle-basic/main.c
-.. literalinclude:: ../code/idle-basic/main.c
+.. literalinclude:: ../../code/idle-basic/main.c
:emphasize-lines: 6,10,14-17
Storing context
+++++++++++++++