~cmiller/desktopcouch/segv-ya-rly

  • Committer: Chad Miller
  • Date: 2010-03-29 23:59:17 UTC
  • Revision ID: chad.miller@canonical.com-20100329235917-1dm6wj181cpbjeba
Since replication takes a long time (and we are not clever enough yet to 
replicate asynchronously), all replication is pushed into a subthread so
that don't block DBus server calls on getPort and such.

However, for some GUI libraries, GUI functions are not allowed to be outside
the main execution thread.  Violating that causes undefined behavior.

We need access to the keyring data in replication, and 'gnomekeyring' may
try to display an alert to the user, using GUI functions.  Doing so from 
inside the replication thread, outside the main thread, can cause SEGV 
crashes in deep and mysterious parts of Python and libraries it uses.

Now, add a wrapper for those functions that can call GUI functions.  First
test what environment we're in and if in a subthread, ask the twisted reactor
to run the target function in the main execution thread and return the values
down to the subthread.
Filename Latest Rev Last Changed Committer Comment Size
..
bin 14.1.6 14 years ago Ken VanDine * reorganized a little to work better as an instal Diff
config 58.2.6 14 years ago stuart.langridge at canonical Reduce number of nested folders in source tree Diff
contrib 28.1.1 14 years ago stuart.langridge at canonical Load databases and design docs from filesystem Diff
data 14.1.7 14 years ago Ken VanDine moved to data, it only contains the template now Diff
desktopcouch 2 14 years ago Elliot Murphy Initial release, under LGPLv3. Diff
docs 19.2.6 14 years ago Ken VanDine Added man page for desktopcouch-pair Diff
po 14.1.18 14 years ago Ken VanDine desktop file for the pairing utility Diff
COPYING 2.1.2 14 years ago Rodney Dawes Fix the license files back to how they were (sill 34.2 KB Diff Download File
COPYING.LESSER 3 14 years ago Tarmac [r=statik, r=jdobrien] Use more standard build uti 7.4 KB Diff Download File
desktopcouch-pair.desktop.in 14.1.18 14 years ago Ken VanDine desktop file for the pairing utility 188 bytes Diff Download File
MANIFEST.in 121.4.2 14 years ago Rick McBride fixed manifest 495 bytes Diff Download File
org.desktopcouch.CouchDB.service 19.2.4 14 years ago Ken VanDine Install the service and the stop script in /usr/li 94 bytes Diff Download File
README 117.2.3 14 years ago stuart.langridge at canonical Add note to README on how to generate documentatio 1.7 KB Diff Download File
File runtests.py 98.1.1 14 years ago Chad Miller Make tests runnable from setuptools' setup.py 'tes 590 bytes Diff Download File
setup.cfg 38.2.1 14 years ago Ken VanDine More work towards building without automagic pytho 197 bytes Diff Download File
File setup.py 139 14 years ago Chad Miller Bump version number. 2.1 KB Diff Download File
File start-desktop-couchdb.sh 26.2.1 14 years ago Ken VanDine Don't start the db before starting the service, le 215 bytes Diff Download File
File stop-desktop-couchdb.sh 14.1.6 14 years ago Ken VanDine * reorganized a little to work better as an instal 365 bytes Diff Download File