<feed xmlns='http://www.w3.org/2005/Atom'>
<title>gpgme/src/w32-io.c, branch gpgme-1.5.1</title>
<subtitle>GnuPG Made Easy.</subtitle>
<id>http://git.bktus.com/gpgfrontend/gpgme/atom?h=gpgme-1.5.1</id>
<link rel='self' href='http://git.bktus.com/gpgfrontend/gpgme/atom?h=gpgme-1.5.1'/>
<link rel='alternate' type='text/html' href='http://git.bktus.com/gpgfrontend/gpgme/'/>
<updated>2014-04-16T08:19:54Z</updated>
<entry>
<title>w32: Fix another memleak on error.</title>
<updated>2014-04-16T08:19:54Z</updated>
<author>
<name>Werner Koch</name>
<email>wk@gnupg.org</email>
</author>
<published>2014-04-15T14:40:48Z</published>
<link rel='alternate' type='text/html' href='http://git.bktus.com/gpgfrontend/gpgme/commit/?id=62711e5614e44e65a7c7bb7d21493d09d3081271'/>
<id>urn:sha1:62711e5614e44e65a7c7bb7d21493d09d3081271</id>
<content type='text'>
* src/w32-io.c (create_reader): free CTX.
--

Found by Hans-Christoph Steiner with cppcheck.
</content>
</entry>
<entry>
<title>w32: Fix memleak in an error code paths.</title>
<updated>2014-04-15T20:18:04Z</updated>
<author>
<name>Werner Koch</name>
<email>wk@gnupg.org</email>
</author>
<published>2014-04-15T14:40:48Z</published>
<link rel='alternate' type='text/html' href='http://git.bktus.com/gpgfrontend/gpgme/commit/?id=85a07ca7e3dffdefc8ae74beebb59e47a6e6bd1b'/>
<id>urn:sha1:85a07ca7e3dffdefc8ae74beebb59e47a6e6bd1b</id>
<content type='text'>
* src/w32-io.c (create_writer): Free CTX in cased of bad FD.
* src/w32-util.c (_gpgme_mkstemp): Free TMPNAME in case of a failed
mkstemp.
--

Found by Hans-Christoph Steiner with cppcheck.
</content>
</entry>
<entry>
<title>Make use of internal iospawn flags more flexible.</title>
<updated>2014-04-10T09:39:14Z</updated>
<author>
<name>Werner Koch</name>
<email>wk@gnupg.org</email>
</author>
<published>2014-04-10T09:39:14Z</published>
<link rel='alternate' type='text/html' href='http://git.bktus.com/gpgfrontend/gpgme/commit/?id=443f6b76a964b77e2e61c03592a83ffa0a6da4b1'/>
<id>urn:sha1:443f6b76a964b77e2e61c03592a83ffa0a6da4b1</id>
<content type='text'>
* src/priv-io.h (IOSPAWN_FLAG_DETACHED): New. Renumber the others.
* src/w32-io.c (_gpgme_io_spawn): Use DETACHED_PROCESS process only if
IOSPAWN_FLAG_DETACHED is given.
* src/w32-qt-io.cpp (_gpgme_io_spawn): Ditto.
* src/w32-glib-io.c (_gpgme_io_spawn): Ditto.
* src/assuan-support.c (my_spawn): Pass IOSPAWN_FLAG_DETACHED flags.
* src/dirinfo.c (read_gpgconf_dirs): Ditto.
* src/engine-gpg.c (start): Ditto.
* src/engine-gpgconf.c (gpgconf_read, gpgconf_write): Ditto.
* src/version.c (_gpgme_get_program_version): Ditto.
</content>
</entry>
<entry>
<title>w32: Change the way the I/O threads are cleaned up.</title>
<updated>2013-05-11T13:38:08Z</updated>
<author>
<name>Werner Koch</name>
<email>wk@gnupg.org</email>
</author>
<published>2013-04-25T11:00:16Z</published>
<link rel='alternate' type='text/html' href='http://git.bktus.com/gpgfrontend/gpgme/commit/?id=9e7df9aa6d81f0abbabb03a2346d80eb5d375f81'/>
<id>urn:sha1:9e7df9aa6d81f0abbabb03a2346d80eb5d375f81</id>
<content type='text'>
* src/w32-io.c (reader_context_s, create_reader)
(writer_context_s, create_writer): Rename STOPPED to CLOSE_EV.
(reader, writer): Remove setting of STOPPED.  Wait for CLOSE_EV and
then release the context.
(destroy_reader, destroy_writer): Do not wait but set the CLOSE_EV.
(kill_reader, kill_writer): Remove.
(_gpgme_io_close): Add code from kill_reader and kill_writer.
--

The old code was prone to deadlocks which were actually exhibited at
Kleopatra startup.  The new code is much more straightforward and
easier to understand.  The reason for the complex old code was
probably due to our former idea to allow re-use of the I/O threads.
However we have long given up on this.
</content>
</entry>
<entry>
<title>Fix hang in socket closing.</title>
<updated>2013-05-08T18:38:50Z</updated>
<author>
<name>Werner Koch</name>
<email>wk@gnupg.org</email>
</author>
<published>2013-04-25T11:00:16Z</published>
<link rel='alternate' type='text/html' href='http://git.bktus.com/gpgfrontend/gpgme/commit/?id=9f330be8210d2498fe93d4166b6f6c02fca76475'/>
<id>urn:sha1:9f330be8210d2498fe93d4166b6f6c02fca76475</id>
<content type='text'>
* src/w32-io.c (destroy_reader): Call shutdown.
(reader): Do not print an error in the shutdown case.
</content>
</entry>
<entry>
<title>Improve debug output of the I/O reader and writer.</title>
<updated>2013-05-08T17:10:41Z</updated>
<author>
<name>Werner Koch</name>
<email>wk@gnupg.org</email>
</author>
<published>2013-05-06T18:23:47Z</published>
<link rel='alternate' type='text/html' href='http://git.bktus.com/gpgfrontend/gpgme/commit/?id=2118f497010a9a41c29d062a7605ff2e136f8f4e'/>
<id>urn:sha1:2118f497010a9a41c29d062a7605ff2e136f8f4e</id>
<content type='text'>
* src/w32-io.c (reader, writer): Also print file_sock.
</content>
</entry>
<entry>
<title>Remove all trailing whitespace from source files</title>
<updated>2012-09-25T13:29:49Z</updated>
<author>
<name>Werner Koch</name>
<email>wk@gnupg.org</email>
</author>
<published>2012-09-25T13:29:49Z</published>
<link rel='alternate' type='text/html' href='http://git.bktus.com/gpgfrontend/gpgme/commit/?id=139e798c8782b09460052a453142addf1174d878'/>
<id>urn:sha1:139e798c8782b09460052a453142addf1174d878</id>
<content type='text'>
--
Command used:  sed -i 's,[ \t]*$,,' FILE
</content>
</entry>
<entry>
<title>Fix socket implementation on Windows.</title>
<updated>2011-02-03T11:38:28Z</updated>
<author>
<name>Marcus Brinkmann</name>
<email>marcus.brinkmann@ruhr-uni-bochum.de</email>
</author>
<published>2011-02-03T11:38:28Z</published>
<link rel='alternate' type='text/html' href='http://git.bktus.com/gpgfrontend/gpgme/commit/?id=2bdbe888228ce09f15be4773800ed13263a8e43e'/>
<id>urn:sha1:2bdbe888228ce09f15be4773800ed13263a8e43e</id>
<content type='text'>
2011-02-03  Marcus Brinkmann  &lt;marcus@g10code.com&gt;

        * w32-io.c (_gpgme_io_socket): Return fd, not res.
</content>
</entry>
<entry>
<title>Fix Windows port (spawn and assuan engine).</title>
<updated>2011-02-02T13:11:18Z</updated>
<author>
<name>Marcus Brinkmann</name>
<email>marcus.brinkmann@ruhr-uni-bochum.de</email>
</author>
<published>2011-02-02T13:07:05Z</published>
<link rel='alternate' type='text/html' href='http://git.bktus.com/gpgfrontend/gpgme/commit/?id=129741d2f713305a862a1505f20738a0ce2ea656'/>
<id>urn:sha1:129741d2f713305a862a1505f20738a0ce2ea656</id>
<content type='text'>
2011-02-02  Marcus Brinkmann  &lt;mb@g10code.com&gt;

        * configure.ac (NEED_LIBASSUAN_VERSION): Bump to 2.0.2 for system hooks.

src/
2011-02-02  Marcus Brinkmann  &lt;mb@g10code.com&gt;

        * assuan-support.c (my_socket, my_connect): New functions.
        (_gpgme_assuan_system_hooks): Add my_Socket, my_connect.
        * priv-io.h (_gpgme_io_socket): New prototype.
        * w32-io.c (pid_to_handle, handle_to_oid, fd_to_handle): Remove macros.
        (is_socket): Remove function.
        (_gpgme_io_spawn) [HAVE_W32CE_SYSTEM]: Remove some dead code.
        (_gpgme_io_spawn): Translate handles before DuplicateHandle them.
</content>
</entry>
<entry>
<title>2010-11-23  Marcus Brinkmann  &lt;mb@g10code.com&gt;</title>
<updated>2010-11-23T10:47:59Z</updated>
<author>
<name>Marcus Brinkmann</name>
<email>mb@g10code.com</email>
</author>
<published>2010-11-23T10:47:59Z</published>
<link rel='alternate' type='text/html' href='http://git.bktus.com/gpgfrontend/gpgme/commit/?id=e59b0a98bac738787c093f48dc9eebabe0bc0600'/>
<id>urn:sha1:e59b0a98bac738787c093f48dc9eebabe0bc0600</id>
<content type='text'>
        * w32-io.c (create_reader, create_writer): Use small stack size on
        Windows CE.


</content>
</entry>
</feed>
