diff --git a/docs/overview.md b/docs/overview.md index 4d95128..cbea12b 100644 --- a/docs/overview.md +++ b/docs/overview.md @@ -42,13 +42,7 @@ typedef struct _AwaitableObject AwaitableObject; !!! info "Calling Conventions" - The PyAwaitable DLL doesn't ship with exported function names, but instead loads an array of function pointers (this is done by `awaitable_init`). For example, `awaitable_new` defined from the headers isn't actually the `awaitable_new` definition, but instead is: - - ```c - #define awaitable_new ((_awaitable_new_type) awaitable_api[2]) - ``` - - This means that you *cannot* use PyAwaitable's functions from an FFI or something similar. While this isn't the greatest way of doing things, it's Python convention. For information why this is the behavior, see [this discussion](https://discuss.python.org/t/linking-against-installed-extension-modules/51710). + PyAwaitable distributes it's functions via [capsules](https://docs.python.org/3/extending/extending.html#using-capsules). For information why this is the behavior, see [this discussion](https://discuss.python.org/t/linking-against-installed-extension-modules/51710). ## Lifecycle