summaryrefslogtreecommitdiff
path: root/doc
diff options
context:
space:
mode:
Diffstat (limited to 'doc')
-rw-r--r--doc/assistant/crashrecovery.pngbin0 -> 6594 bytes
-rw-r--r--doc/design/assistant/blog/day_176__thread_management.mdwn13
-rw-r--r--doc/install/fromscratch.mdwn1
3 files changed, 14 insertions, 0 deletions
diff --git a/doc/assistant/crashrecovery.png b/doc/assistant/crashrecovery.png
new file mode 100644
index 000000000..fce3805d0
--- /dev/null
+++ b/doc/assistant/crashrecovery.png
Binary files differ
diff --git a/doc/design/assistant/blog/day_176__thread_management.mdwn b/doc/design/assistant/blog/day_176__thread_management.mdwn
new file mode 100644
index 000000000..38f043fcf
--- /dev/null
+++ b/doc/design/assistant/blog/day_176__thread_management.mdwn
@@ -0,0 +1,13 @@
+Got back to hacking today, and did something I've wanted to do for some
+time. Made all the assistant's threads be managed by a thread manager. This
+allows restarting threads if they crash, by clicking a button in the
+webapp. It also will allow for other features later, like stopping and
+starting the watcher thread, to pause the assistant adding local files.
+
+[[!img /assistant/crashrecovery.png]]
+
+I added the haskell async library as a dependency, which made this pretty
+easy to implement. The only hitch is that async's documentation is not
+clear about how it handles asyncronous exceptions. It took me quite a while
+to work out why the errors I'd inserted into threads to test were crashing
+the whole program rather than being caught!
diff --git a/doc/install/fromscratch.mdwn b/doc/install/fromscratch.mdwn
index 1aebc68a2..a5c402c24 100644
--- a/doc/install/fromscratch.mdwn
+++ b/doc/install/fromscratch.mdwn
@@ -46,6 +46,7 @@ quite a lot.
* [network-protocol-xmpp](http://hackage.haskell.org/package/network-protocol-xmpp)
* [dns](http://hackage.haskell.org/package/dns)
* [xml-types](http://hackage.haskell.org/package/xml-types)
+ * [async](http://hackage.haskell.org/package/async)
* Shell commands
* [git](http://git-scm.com/)
* [uuid](http://www.ossp.org/pkg/lib/uuid/)