CEE3569E
The DLL function was not allowed because destructors are running for the DLL.

Explanation

A DLL Free, Query Variable, Query Function, C dlclose(), or C dlsym() request was made for a DLL that is currently running destructors. Since destructors are running, the DLL is about to be freed. Further function requests using this DLL are not allowed.

System action

If this was an explicit DLL Free (CEEPFDE), Query Variable (CEEPQDV), Query Function (CEEPQDF), Close (CEEPCLDL), or Symbol (CEEPSYDL) request, the feedback code was returned to the caller.

If this was a C dllqueryfn(), dllqueryvar(), dlsym(), dllfree(), or dlclose() request and the _EDC_DLL_DIAG environment variable was not set to QUIET, the error message was sent to the Language Environment® message file. Other DLL diagnostic options, such as issuing ctrace(), signaling a condition, and turning off _EDC_DLL_DIAG diagnostics, were available through the _EDC_DLL_DIAG environment variable.

If this was an explicit C dlclose() or dlsym() request, this error could also be returned to the caller through a subsequent call to the C dlerror() function.

A CEEDLLF DLL failure control block was populated with further DLL error diagnostics.

Programmer response

Do not issue DLL function requests from one thread while the DLL is being freed from another thread.

Symbolic Feedback Code

CEE3FH