Size: 1867
Comment: Document an idea how to fix the busy / blocking wait of gpgol.
|
Size: 736
Comment: Better put the development notes on a dedicated page.
|
Deletions are marked like this. | Additions are marked like this. |
Line 14: | Line 14: |
== Busy wait / blocking the main thread for crypto results == As of GpgOL 1.2.1 we have the problem that we need to get the results of a Crypto operation before continuing. This is currently implemented as a Busy wait in engine_wait. This is bad both because it is busy (resulting in outlook showing as 100% cpu usage) and because it is wait (Outlook is not responding). The Problem is that the Outlook Object Model can only be accessed by the main outlook thread. So we can't just put the crypto actions in a thread and be done with it. To fix this I think we need to obtain all necessary data from the OOM, then put the crypo action in a thread with this information and let it run. We also need to put information what to do with the result (how to find the relevant elements in the OOM) in this thread. After the thread is finished it needs to Send a Message (SendMessage) to Outlook with a custom message ID that we can register GpgOL to handle. The message is then handled in the main thread again. We could obtain the relevant objects in the OOM again and show the result. This would enable us to run actions asynchronusly without violating the OOM constraints. |
[[GpgOL/Development|Notes about GpgOL development]] |
some notes about the architecture or GpgOL and the technical abilities to implement PGP/MIME S/MIME in various Outlook versions
stub, starting to collect.
http://lists.wald.intevation.org/pipermail/gpg4win-devel/2009-February/000827.html [Gpg4win-devel] GpgOL development background. BernhardReiter, Tue Feb 10 12:52:55 CET 2009
http://lists.wald.intevation.org/pipermail/gpg4win-users-en/2011-December/000647.html We have found a more recently added or exposed function call which may make it possible to hook into the right place of Outlook 2010. [Gpg4win-users-en] gpg4win w/ Outlook 2010?, BernhardReiter, Wed Dec 21 12:49:32 CET 2011