New internal thread management on Windows

Hello everyone,

Since 4D v17 R4, cooperative threads have been implemented as threads instead of fibers on 4D Server (Windows only).
In the future, we also want to implement this change in 4D (remote and local modes).

This change can impact your plugins because their execution will then be in the thread of the current 4D process, and no longer in the main thread (current behavior). As a consequence, system calls to manipulate windows will be dispatched to the current thread’s message queue instead of the main thread’s message queue. This may impact your UI code.

To help you make the necessary modifications to your plugins, you can test this new feature in 4D (local mode) by putting an empty file named “threadedFibers.prm” in the 4D executable directory. Its presence is enough to trigger the new behavior.

We’d like to activate this feature in one of the 4D v18 R-releases.

Please don’t hesitate to let us know if you have any questions or encounter any issues due to this change, so we can help you make the transition.

Regards,
Nicolas Brachfogel