From c2de3905ae6f40d87ed464b651db857e22dbb44b Mon Sep 17 00:00:00 2001 From: Charles Oliver Nutter Date: Wed, 9 Oct 2024 10:13:01 -0500 Subject: [PATCH] Add FAQ about EINVAL for in/out vars --- docs/FAQ.md | 10 +++++++++- 1 file changed, 9 insertions(+), 1 deletion(-) diff --git a/docs/FAQ.md b/docs/FAQ.md index 4ce5956d..524937db 100644 --- a/docs/FAQ.md +++ b/docs/FAQ.md @@ -52,5 +52,13 @@ Before sending a pull request, please file an issue ([see the previous section]( with the details of what you have changed or are going to change. This way, your time is not wasted if the change does not meet our goals, and we can discuss the changes in depth within the issue. +## Why am I getting EINVAL for a pointer passed to native (e.g. getsockopt's len pointer) + +Length pointers passed to native functions are often read and also written back by the function to indicate how much +data was actually returned. If you specify only @In OR @Out the native memory allocated for the pointer may not be +set up correctly for two-way synchronization. Remove the annotation or specify both (which is the default when neither +are specified. + + If you are adding new functionality, ensure that you add unit tests that will test the behavior of your new code and, if -it is a public API, add descriptive javadoc comments for the new code. \ No newline at end of file +it is a public API, add descriptive javadoc comments for the new code.