pld-builder.new: PLD_Builder/gpg.py Use Popen3 so we won't have zo...
arekm
arekm at pld-linux.org
Tue Nov 20 23:05:02 CET 2007
Author: arekm Date: Tue Nov 20 22:05:02 2007 GMT
Module: pld-builder.new Tag: HEAD
---- Log message:
Use Popen3 so we won't have zombies.
---- Files affected:
pld-builder.new/PLD_Builder:
gpg.py (1.15 -> 1.16)
---- Diffs:
================================================================
Index: pld-builder.new/PLD_Builder/gpg.py
diff -u pld-builder.new/PLD_Builder/gpg.py:1.15 pld-builder.new/PLD_Builder/gpg.py:1.16
--- pld-builder.new/PLD_Builder/gpg.py:1.15 Tue Nov 20 22:15:24 2007
+++ pld-builder.new/PLD_Builder/gpg.py Tue Nov 20 23:04:57 2007
@@ -21,31 +21,35 @@
object.
"""
- (gpg_out, gpg_in, gpg_err) = popen2.popen3("gpg --batch --no-tty --decrypt")
+ gpg_run = popen2.Popen3("gpg --batch --no-tty --decrypt", True)
try:
- body = pipeutil.rw_pipe(buf, gpg_in, gpg_out)
+ body = pipeutil.rw_pipe(buf, gpg_run.tochild, gpg_run.fromchild)
except OSError, e:
__gpg_close([gpg_out, gpg_err, gpg_in])
+ gpg_run.wait()
log.error("gnupg signing failed, does gpg binary exist? : %s" % e)
raise
rx = re.compile("^gpg: (Good signature from| aka) .*<([^>]+)>")
emails = []
- for l in gpg_err.xreadlines():
+ for l in gpg_run.childerr.xreadlines():
m = rx.match(l)
if m:
emails.append(m.group(2))
- __gpg_close([gpg_out, gpg_err, gpg_in])
+ __gpg_close([gpg_run.fromchild, gpg_run.childerr, gpg_run.tochild])
+ gpg_run.wait()
return (emails, body)
def sign(buf):
- (gpg_out, gpg_in, gpg_err) = popen2.popen3("gpg --batch --no-tty --clearsign")
+ gpg_run = popen2.Popen3("gpg --batch --no-tty --clearsign", True)
try:
- body = pipeutil.rw_pipe(buf, gpg_in, gpg_out)
+ body = pipeutil.rw_pipe(buf, gpg_run.tochild, gpg_run.fromchild)
except OSError, e:
__gpg_close([gpg_out, gpg_err, gpg_in])
+ gpg_run.wait()
log.error("gnupg signing failed, does gpg binary exist? : %s" % e)
raise
- __gpg_close([gpg_out, gpg_err, gpg_in])
+ __gpg_close([gpg_run.fromchild, gpg_run.childerr, gpg_run.tochild])
+ gpg_run.wait()
return body
================================================================
---- CVS-web:
http://cvs.pld-linux.org/cgi-bin/cvsweb.cgi/pld-builder.new/PLD_Builder/gpg.py?r1=1.15&r2=1.16&f=u
More information about the pld-cvs-commit
mailing list