On Wednesday, 6 September 2017 at 05:57:18 UTC, Psychological Cleanup wrote:
I have a C callback that must call some functions declared in D. I can't call them off the C thread because it will result in a violation. What is a good way to dispatch the call to the main D program?

I'm thinking that I might have to create an extra thread that monitors for when a call needs to occur and does so. Doesn't seem very effective though? Does anyone know how C# does it?

1/ mark the D function as "extern(C)".
2/ take care to how things are passed to the D functions, especially arrays. 3/ take care not to mutate memory created from the D side...i.e copy after the call.
  • dispatcher Psychological Cleanup via Digitalmars-d-learn
    • Re: dispatcher Kagamin via Digitalmars-d-learn
    • Re: dispatcher user1234 via Digitalmars-d-learn

Reply via email to