<feed xmlns='http://www.w3.org/2005/Atom'>
<title>mailman.git/src/mailman/interfaces/runner.py, branch feature/drop-runner-priviliges</title>
<subtitle>The GNU Mailing List manager.</subtitle>
<id>https://git.neuromancer.sk/mailman.git/atom/src/mailman/interfaces/runner.py?h=feature%2Fdrop-runner-priviliges</id>
<link rel='self' href='https://git.neuromancer.sk/mailman.git/atom/src/mailman/interfaces/runner.py?h=feature%2Fdrop-runner-priviliges'/>
<link rel='alternate' type='text/html' href='https://git.neuromancer.sk/mailman.git/'/>
<updated>2017-01-28T18:19:58Z</updated>
<entry>
<title>Handle PEP 475 fallout.</title>
<updated>2017-01-28T18:19:58Z</updated>
<author>
<name>Barry Warsaw</name>
</author>
<published>2017-01-28T18:17:25Z</published>
<link rel='alternate' type='text/html' href='https://git.neuromancer.sk/mailman.git/commit/?id=7c97e8fbdb90a1a0de1526d7a6f108e95415d6a0'/>
<id>urn:sha1:7c97e8fbdb90a1a0de1526d7a6f108e95415d6a0</id>
<content type='text'>
Closes #255

As of Python 3.5, PEP 475 gets in our way.  Runners with long time.sleep()'s
in their _snooze() method (e.g. the retry runner) will have their system call
implemented time.sleep() automatically retried at the C layer.  The only
reliable way to prevent this is to raise an exception in the signal handler.
The standard run() method automatically suppresses this exception, meaning,
it's caught and ignored, but effectively breaks the run() loop, which is just
what we want.

The lmtp and rest runners implement their own run loops, so they also have to
handle this exception, by ignoring it.
</content>
</entry>
<entry>
<title>Bump copyright years.</title>
<updated>2017-01-04T15:30:17Z</updated>
<author>
<name>Barry Warsaw</name>
</author>
<published>2017-01-04T15:30:17Z</published>
<link rel='alternate' type='text/html' href='https://git.neuromancer.sk/mailman.git/commit/?id=8180990a2ed053f6e4880f93a75acd9845631793'/>
<id>urn:sha1:8180990a2ed053f6e4880f93a75acd9845631793</id>
<content type='text'>
</content>
</entry>
<entry>
<title>Use `atpublic` for @public instead of internal copy.</title>
<updated>2016-11-29T23:51:05Z</updated>
<author>
<name>Barry Warsaw</name>
</author>
<published>2016-11-29T23:51:05Z</published>
<link rel='alternate' type='text/html' href='https://git.neuromancer.sk/mailman.git/commit/?id=fe22ebdb98d125db840c980cbd953a8fbc2e5cdf'/>
<id>urn:sha1:fe22ebdb98d125db840c980cbd953a8fbc2e5cdf</id>
<content type='text'>
</content>
</entry>
<entry>
<title>Import order flake8 plugin.</title>
<updated>2016-03-28T02:14:47Z</updated>
<author>
<name>Barry Warsaw</name>
</author>
<published>2016-03-28T02:14:47Z</published>
<link rel='alternate' type='text/html' href='https://git.neuromancer.sk/mailman.git/commit/?id=532045c68c6325fa90d74572b6c035c666470849'/>
<id>urn:sha1:532045c68c6325fa90d74572b6c035c666470849</id>
<content type='text'>
Fix lots of import order errors discovered by the new plugin.
</content>
</entry>
<entry>
<title>Clean up the interfaces directory.</title>
<updated>2016-03-25T14:13:48Z</updated>
<author>
<name>Barry Warsaw</name>
</author>
<published>2016-03-25T14:13:48Z</published>
<link rel='alternate' type='text/html' href='https://git.neuromancer.sk/mailman.git/commit/?id=a681354cadf48394127796eb111c2904283c9288'/>
<id>urn:sha1:a681354cadf48394127796eb111c2904283c9288</id>
<content type='text'>
</content>
</entry>
<entry>
<title>Happy New Year.</title>
<updated>2016-01-03T03:43:23Z</updated>
<author>
<name>Barry Warsaw</name>
</author>
<published>2016-01-03T03:43:23Z</published>
<link rel='alternate' type='text/html' href='https://git.neuromancer.sk/mailman.git/commit/?id=f390e08c31477c476e1312d03771b68e22b42675'/>
<id>urn:sha1:f390e08c31477c476e1312d03771b68e22b42675</id>
<content type='text'>
</content>
</entry>
<entry>
<title>Bump copyright years.</title>
<updated>2015-01-05T01:22:39Z</updated>
<author>
<name>Barry Warsaw</name>
</author>
<published>2015-01-05T01:22:39Z</published>
<link rel='alternate' type='text/html' href='https://git.neuromancer.sk/mailman.git/commit/?id=3ed695772e7e9c17234097e820a4cedfb0ad3a5d'/>
<id>urn:sha1:3ed695772e7e9c17234097e820a4cedfb0ad3a5d</id>
<content type='text'>
</content>
</entry>
<entry>
<title>Remove huge amounts of now unnecessary file boilerplate.</title>
<updated>2014-12-23T01:06:20Z</updated>
<author>
<name>Barry Warsaw</name>
</author>
<published>2014-12-23T01:06:20Z</published>
<link rel='alternate' type='text/html' href='https://git.neuromancer.sk/mailman.git/commit/?id=286fac3f7c580dfc137ac11290a2ba5713f69472'/>
<id>urn:sha1:286fac3f7c580dfc137ac11290a2ba5713f69472</id>
<content type='text'>
</content>
</entry>
<entry>
<title>Use print functions consistently through, and update all __future__ imports to</title>
<updated>2014-04-28T15:23:35Z</updated>
<author>
<name>Barry Warsaw</name>
</author>
<published>2014-04-28T15:23:35Z</published>
<link rel='alternate' type='text/html' href='https://git.neuromancer.sk/mailman.git/commit/?id=d4d71f71f08d6d440b17482eecc5472dcfe6cbae'/>
<id>urn:sha1:d4d71f71f08d6d440b17482eecc5472dcfe6cbae</id>
<content type='text'>
reflect this.

Also, mock out sys.stderr on some tests so that their nose2 output is quieter.

A few other minor coding style consistencies.
</content>
</entry>
<entry>
<title>Bump copyright years.</title>
<updated>2014-01-01T14:59:42Z</updated>
<author>
<name>Barry Warsaw</name>
</author>
<published>2014-01-01T14:59:42Z</published>
<link rel='alternate' type='text/html' href='https://git.neuromancer.sk/mailman.git/commit/?id=2fa21e92d57f05488bad732a4da3fb5131ee1ca1'/>
<id>urn:sha1:2fa21e92d57f05488bad732a4da3fb5131ee1ca1</id>
<content type='text'>
</content>
</entry>
</feed>
