From patchwork Fri Jan 7 18:48:05 2011 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Michael Goldish X-Patchwork-Id: 464991 Received: from vger.kernel.org (vger.kernel.org [209.132.180.67]) by demeter1.kernel.org (8.14.4/8.14.3) with ESMTP id p07Im5pI012313 for ; Fri, 7 Jan 2011 18:48:06 GMT Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S1752731Ab1AGSrz (ORCPT ); Fri, 7 Jan 2011 13:47:55 -0500 Received: from mx1.redhat.com ([209.132.183.28]:36948 "EHLO mx1.redhat.com" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S1751590Ab1AGSry (ORCPT ); Fri, 7 Jan 2011 13:47:54 -0500 Received: from int-mx12.intmail.prod.int.phx2.redhat.com (int-mx12.intmail.prod.int.phx2.redhat.com [10.5.11.25]) by mx1.redhat.com (8.13.8/8.13.8) with ESMTP id p07IlrYq004726 (version=TLSv1/SSLv3 cipher=DHE-RSA-AES256-SHA bits=256 verify=OK); Fri, 7 Jan 2011 13:47:53 -0500 Received: from ns3.rdu.redhat.com (ns3.rdu.redhat.com [10.11.255.199]) by int-mx12.intmail.prod.int.phx2.redhat.com (8.14.4/8.14.4) with ESMTP id p07IlrCi025915; Fri, 7 Jan 2011 13:47:53 -0500 Received: from moof.tlv.redhat.com (dhcp-1-185.tlv.redhat.com [10.35.1.185]) by ns3.rdu.redhat.com (8.13.8/8.13.8) with ESMTP id p07IlkZL032671; Fri, 7 Jan 2011 13:47:52 -0500 From: Michael Goldish To: autotest@test.kernel.org, kvm@vger.kernel.org Cc: Michael Goldish Subject: [KVM-AUTOTEST PATCH v3 05/11] KVM test: Thread.join(): insert the current context into the thread's exception Date: Fri, 7 Jan 2011 20:48:05 +0200 Message-Id: <1294426091-16704-5-git-send-email-mgoldish@redhat.com> In-Reply-To: <1294426091-16704-1-git-send-email-mgoldish@redhat.com> References: <1294426091-16704-1-git-send-email-mgoldish@redhat.com> X-Scanned-By: MIMEDefang 2.68 on 10.5.11.25 Sender: kvm-owner@vger.kernel.org Precedence: bulk List-ID: X-Mailing-List: kvm@vger.kernel.org X-Greylist: IP, sender and recipient auto-whitelisted, not delayed by milter-greylist-4.2.6 (demeter1.kernel.org [140.211.167.41]); Fri, 07 Jan 2011 18:48:06 +0000 (UTC) diff --git a/client/tests/kvm/kvm_utils.py b/client/tests/kvm/kvm_utils.py index 646d4fa..6cfed3f 100644 --- a/client/tests/kvm/kvm_utils.py +++ b/client/tests/kvm/kvm_utils.py @@ -1179,6 +1179,11 @@ class Thread(threading.Thread): threading.Thread.join(self, timeout) try: if self._e: + # Because the exception was raised in another thread, we need + # to explicitly insert the current context into it + s = error.exception_context(self._e[1]) + s = error.join_contexts(error.get_context(), s) + error.set_exception_context(self._e[1], s) raise self._e[0], self._e[1], self._e[2] else: return self._retval