[tor-commits] [tor/master] Remove 01e-os-compat: the module docs cover this much better.

nickm at torproject.org nickm at torproject.org
Tue Nov 12 17:15:29 UTC 2019


commit e39423c78c6c66e08ed65a162e2a6d1a21606881
Author: Nick Mathewson <nickm at torproject.org>
Date:   Tue Nov 12 12:14:56 2019 -0500

    Remove 01e-os-compat: the module docs cover this much better.
---
 doc/HACKING/design/01e-os-compat.md | 50 -------------------------------------
 1 file changed, 50 deletions(-)

diff --git a/doc/HACKING/design/01e-os-compat.md b/doc/HACKING/design/01e-os-compat.md
deleted file mode 100644
index 072e95bc8..000000000
--- a/doc/HACKING/design/01e-os-compat.md
+++ /dev/null
@@ -1,50 +0,0 @@
-
-## OS compatibility functions ##
-
-We've got a bunch of functions to wrap differences between various
-operating systems where we run.
-
-### The filesystem ###
-
-We wrap the most important filesystem functions with load-file,
-save-file, and map-file abstractions declared in util.c or compat.c.  If
-you're messing about with file descriptors yourself, you might be doing
-things wrong.  Most of the time, write_str_to_file() and
-read_str_from_file() are all you need.
-
-Use the check_private_directory() function to create or verify the
-presence of directories, and tor_listdir() to list the files in a
-directory.
-
-Those modules also have functions for manipulating paths a bit.
-
-### Networking ###
-
-Nearly all the world is on a Berkeley sockets API, except for
-windows, whose version of the Berkeley API was corrupted by late-90s
-insistence on backward compatibility with the
-sort-of-berkeley-sort-of-not add-on *thing* that was WinSocks.
-
-What's more, everybody who implemented sockets realized that select()
-wasn't a very good way to do nonblocking IO... and then the various
-implementations all decided to so something different.
-
-You can forget about most of these differences, fortunately: We use
-libevent to hide most of the differences between the various networking
-backends, and we add a few of our own functions to hide the differences
-that Libevent doesn't.
-
-To create a network connection, the right level of abstraction to look
-at is probably the connection_t system in connection.c.  Most of the
-lower level work has already been done for you.  If you need to
-instantiate something that doesn't fit well with connection_t, you
-should see whether you can instantiate it with connection_t anyway -- or
-you might need to refactor connection.c a little.
-
-Whenever possible, represent network addresses as tor_addr_t.
-
-### Process launch and monitoring ###
-
-Launching and/or monitoring a process is tricky business. You can use
-the mechanisms in procmon.c and tor_spawn_background(), but they're both
-a bit wonky.  A refactoring would not be out of order.



More information about the tor-commits mailing list