From b0922b88bfc793d50d4e2f90fc257aa578e116c7 Mon Sep 17 00:00:00 2001 From: Guillaume Horel Date: Wed, 18 Apr 2018 14:21:36 -0400 Subject: relase gil --- pyisda/credit_index.pyx | 9 +++++---- 1 file changed, 5 insertions(+), 4 deletions(-) diff --git a/pyisda/credit_index.pyx b/pyisda/credit_index.pyx index eb0c32e..6f52651 100644 --- a/pyisda/credit_index.pyx +++ b/pyisda/credit_index.pyx @@ -362,6 +362,7 @@ cdef class CreditIndex(CurveList): vector[double] h pair[TContingentLeg_ptr,TFeeLeg_ptr] legs int i = get_maturity_index(maturity_c, self._maturities) + if i == -1: legs = get_legs(maturity_c, self.start_date) else: @@ -373,10 +374,10 @@ cdef class CreditIndex(CurveList): if mask == 0: raise ValueError("maturity is not correct") h = vector[double](self.T.size()) - - r = pv(self._curves, self.base_date, step_in_date_c, cash_settle_date_c, - yc._thisptr.get(), legs, recovery_rate, fixed_rate, - self._weights, epsilon, h, self.T, mask) + with nogil: + r = pv(self._curves, self.base_date, step_in_date_c, cash_settle_date_c, + yc._thisptr.get(), legs, recovery_rate, fixed_rate, + self._weights, epsilon, h, self.T, mask) if i == -1: free(legs.first) JpmcdsFeeLegFree(legs.second) -- cgit v1.2.3-70-g09d2