Small comment on <https://sourceforge.net/p/oorexx/code-0/12420/> which fixes <https://sourceforge.net/p/oorexx/bugs/1820/>.

Using AutoCAD 24 (24.1 and 24.2) sometimes runtime errors occur unexpectedly, like not finding properties or invoking (existing) methods. It turns out that AutoCAD (as described in the bug) issues randomly "HRESULT=80010001=RPC_E_CALL_REJECTED "Call was rejected by callee."" errors.

Adjusting orexxole.cpp to cater for this (other applications might exhibit this) and testing this over the past days surfaced almost every place in orexxole.cpp where this error may be issued. Hence I tried to "safe-belt" all invocations by checking afterwards for RPC_E_CALL_REJECTED and if present, retry the failing call a couple of times by releasing the time-slice with Sleep(n) and then retry. Over the course of time all different sleep times were tested, in the end the current heuristic sleeping times were picked. Since then the re-execute attempts have been successful for the past two days.

The code in orexxole.cpp includes the debug statements for RPC_E_CALL_REJECTED and the re-execute attempts in case sometimes in the future one may need to re-assess this part. To do so, the field named "bDebug_rpc_e_call_rejected" needs to be set to "true".

---rony



_______________________________________________
Oorexx-devel mailing list
[email protected]
https://lists.sourceforge.net/lists/listinfo/oorexx-devel

Reply via email to