I suspected it would. I'm not sure what's going on here. The destructor for ApiContext in the ThrowException2 stub is supposed to release the kernel semaphore when an exception is thrown, then when the exception is caught in NativeActivation, the semaphore is reacquired. Somehow, the semaphore is ending up as a nested request, such that the main thread ends up holding on to it forever. I've traced this process in the debugger, and everything is happening as suspected, but somehow the mutex is still messed up. Does this fail on any other platforms, or is it just a Windows problem?
Rick On Fri, Nov 20, 2020 at 5:58 AM Erich Steinböck <erich.steinbo...@gmail.com> wrote: > Replacing ThrowException2 with RaiseException2 in nullStringException() in > RexxUtilCommon.hpp makes this piece of code work again. > > On Fri, Nov 20, 2020 at 10:34 AM Erich Steinböck < > erich.steinbo...@gmail.com> wrote: > >> isolate the problem to a single test >>> >> OK, this piece of code reproduces the hang - both on 32- and 64-bit >> Windows >> >> ~~~ >> signal on syntax >> call SysFileTree "", f. >> syntax: >> >> m = ""~start("HELLO") >> r = m~result >> ~~~ >> >> _______________________________________________ > Oorexx-devel mailing list > Oorexx-devel@lists.sourceforge.net > https://lists.sourceforge.net/lists/listinfo/oorexx-devel >
_______________________________________________ Oorexx-devel mailing list Oorexx-devel@lists.sourceforge.net https://lists.sourceforge.net/lists/listinfo/oorexx-devel