aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
-rw-r--r--ChangeLog.txt1
-rw-r--r--README18
-rw-r--r--doc/pseudo_ipc21
-rw-r--r--pseudo.110
4 files changed, 40 insertions, 10 deletions
diff --git a/ChangeLog.txt b/ChangeLog.txt
index 3869093..113f675 100644
--- a/ChangeLog.txt
+++ b/ChangeLog.txt
@@ -1,5 +1,6 @@
2013-02-27:
* (seebs) Oh, hey, what if I took out my debug messages?
+ * (seebs) update docs a bit to reduce bitrot
2013-02-26:
* (seebs) When built -DNDEBUG, completely drop pseudo_debug calls.
diff --git a/README b/README
index 254b454..afe6b27 100644
--- a/README
+++ b/README
@@ -27,6 +27,16 @@ Configure options:
--with-sqlite=/path/to/sqlite/dir
--bits={32,64}
--suffix=<text>
+ --enable-static-sqlite
+ --with-sqlite-lib
+ --libdir=...
+ --enable-memory-db
+ --enable-force-async
+ --with-sqlite-lib=...
+ --enable-static-sqlite
+ --with-static-sqlite=...
+ --with-rpath=...|--without-rpath
+ --cflags=''
There is no default prefix. The default for sqlite is /usr, and for
bits is 32. You need a reasonably modern sqlite3 -- it has to have
@@ -46,6 +56,14 @@ Limited user documentation is provided in the given man page files (these
are not currently installed, merely provided in the source directory), and
some documentation on internals is provided in the doc/ directory.
+The memory-db option uses an in-memory SQLite database, which is flushed
+to disk on failures. It's disabled by default with SQLite 3.6 and earlier
+due to performance weirdness.
+
+The --enable-force-async option causes wrappers for fsync() and friends to
+all return "success" instantly unless PSEUDO_ALLOW_FSYNC was set in the
+environment when the client initialized (usually after a fork or exec).
+
FUTURE DIRECTIONS:
diff --git a/doc/pseudo_ipc b/doc/pseudo_ipc
index 150a43e..0892bb7 100644
--- a/doc/pseudo_ipc
+++ b/doc/pseudo_ipc
@@ -35,16 +35,17 @@ is not thread-safe; this is part of (but not all of) the reason that there's
mutex stuff in the wrappers. (The other part is the "antimagic" being
able to blow things up.)
-type is one of PING, OP, SHUTDOWN, ACK, or NAK. The client only sends PING or
-OP. The server should always send ACK. When run with '-S', the pseudo
-program runs as a client, sending a SHUTDOWN message to a server -- but only
-if it can find one, it does not start a new one. In this case, the server
-could respond with a NAK, in which case it sends a message in which "path"
-is a list of space-separated PIDs of currently-living clients, for the program
-to print out in an error message. The server will not shut down while there
-are living clients. (The request, though, causes it to shut down immediately
-when there are no more clients, rather than waiting for the timeout
-period.)
+type is one of PING, OP, FASTOP, SHUTDOWN, ACK, or NAK. The client
+only sends PING, OP, or FASTOP. FASTOP takes no response, otherwise the
+server should always send ACK. When run with '-S', the pseudo program
+runs as a client, sending a SHUTDOWN message to a server -- but only if
+it can find one, it does not start a new one. In this case, the server
+could respond with a NAK, in which case it sends a message in which
+"path" is a list of space-separated PIDs of currently-living clients,
+for the program to print out in an error message. The server will
+not shut down while there are living clients. (The request, though,
+causes it to shut down immediately when there are no more clients,
+rather than waiting for the timeout period.)
result is the result of a particular operation. It applies only in replies
to OP messages.
diff --git a/pseudo.1 b/pseudo.1
index b689b97..f7f5bca 100644
--- a/pseudo.1
+++ b/pseudo.1
@@ -418,6 +418,16 @@ will still report success, even though nothing happens. This function is
intended for debugging of issues which are complicated by the server's
involvement.
.TP 8
+.B PSEUDO_ALLOW_FSYNC
+If this variable is set, pseudo will allow
+.I fsync()
+and related system calls, even it was configured with the
+.I --enable-force-async
+option. Otherwise, that option results in all such calls being
+discarded silently, even when
+.B PSEUDO_DISABLED
+is set. The value specified doesn't matter.
+.TP 8
.B PSEUDO_ENOSYS_ABORT
If this variable is set, the
.I pseudo