diff --git a/pywikidiff2/pywikidiff2.cpp b/pywikidiff2/pywikidiff2.cpp index d2286bd..bf705b1 100644 --- a/pywikidiff2/pywikidiff2.cpp +++ b/pywikidiff2/pywikidiff2.cpp @@ -104,13 +104,16 @@ static Wikidiff2::String char_to_string(char* cstr){ } static Wikidiff2::String wikidiff2_inline_json_diff(pywikidiff2Obj *self, char* text1, char* text2){ + Wikidiff2::String ret; + Py_BEGIN_ALLOW_THREADS Wikidiff2::String str1(text1, strlen(text1)); Wikidiff2::String str2(text2, strlen(text2)); Wikidiff2 wikidiff2( *(&self->config)); InlineJSONFormatter formatter; wikidiff2.addFormatter(formatter); wikidiff2.execute(str1, str2); - Wikidiff2::String ret = formatter.getResult().str(); + ret = formatter.getResult().str(); + Py_END_ALLOW_THREADS return ret; }