git-annex/Assistant/Threads
Joey Hess fe96b28b4d convert the assistant to use a bound thread for XMPP
This *may* solve the segfault I was seeing when the XMPP library called
startTLS. My hypothesis is as follows:

* TLS is documented
  (http://www.gnu.org/software/gnutls/manual/gnutls.html#Thread-safety)
  thread safe, but only when a single thread accesses it.
* forkIO threads are not bound to an OS thread, so it was possible for
  the threaded runtime to run part of the XMPP code on one thread, and
  then switch to another thread later.

So, forkOS, with its bound threads, should be used for the XMPP thread.
Since the crash doesn't happen reliably, I am not yet sure about this fix.

Note that I kept all the other threads in the assistant unbound, because
bound threads have significantly higher overhead.
2012-10-25 15:47:27 -04:00
..
Committer.hs !! removal 2012-10-21 00:51:42 -04:00
ConfigMonitor.hs push out config changes 2012-10-21 15:50:49 -04:00
DaemonStatus.hs display errors when any named thread crashes 2012-09-06 14:56:04 -04:00
Merger.hs add ConfigMonitor thread 2012-10-20 16:43:35 -04:00
MountWatcher.hs added push notifier thread, currently a no-op 2012-10-24 13:38:28 -04:00
NetWatcher.hs added push notifier thread, currently a no-op 2012-10-24 13:38:28 -04:00
PairListener.hs avoid pairlistener crash 2012-10-10 16:48:06 -04:00
Pusher.hs added push notifier thread, currently a no-op 2012-10-24 13:38:28 -04:00
PushNotifier.hs convert the assistant to use a bound thread for XMPP 2012-10-25 15:47:27 -04:00
SanityChecker.hs use gitRepo 2012-10-12 01:17:45 -04:00
TransferPoller.hs use gitRepo 2012-10-12 01:17:45 -04:00
Transferrer.hs quiet calls to transferkey 2012-09-24 13:36:05 -04:00
TransferScanner.hs check and drop after uploads 2012-10-18 16:05:43 -04:00
TransferWatcher.hs nasty race workaround 2012-10-19 16:59:18 -04:00
Watcher.hs check preferred content when a file is moved or created 2012-10-19 14:22:13 -04:00
WebApp.hs import S3 only when enabled 2012-10-18 12:42:57 -04:00