mymessage = portage.mail.create_message(myfrom, myrecipient, mysubject,
mybody, attachments=items.values())
+
+ def timeout_handler(signum, frame):
+ raise PortageException("Timeout in finalize() for elog system 'mail_summary'")
+ import signal
+ signal.signal(signal.SIGALRM, timeout_handler)
+ # Timeout after one minute in case send_mail() blocks indefinitely.
+ signal.alarm(60)
+
try:
- portage.mail.send_mail(mysettings, mymessage)
+ try:
+ portage.mail.send_mail(mysettings, mymessage)
+ finally:
+ signal.alarm(0)
except PortageException, e:
writemsg("%s\n" % str(e), noiselevel=-1)