libtock/ipc: add custom IPC service callback type with buffer pointer #421
Add this suggestion to a batch that can be applied as a single commit.
This suggestion is invalid because no changes were made to the code.
Suggestions cannot be applied while the pull request is closed.
Suggestions cannot be applied while viewing a subset of changes.
Only one suggestion per line can be applied in a batch.
Add this suggestion to a batch that can be applied as a single commit.
Applying suggestions on deleted lines is not supported.
You must change the existing code in this line in order to create a valid suggestion.
Outdated suggestions cannot be applied.
This suggestion has been applied or marked resolved.
Suggestions cannot be applied from pending reviews.
Suggestions cannot be applied on multi-line comments.
Suggestions cannot be applied while the pull request is queued to merge.
Suggestion cannot be applied right now. Please check back later.
This changes the IPC service callback function type to provide the IPC buffer pointer as an actual pointer type. The fact that this is currently an integer is pretty weird, and appears to be an artifact of the implementation sharing the subscribe system call wrapper.
I'm not sure whether what I'm doing here works, or is legal. In fact, there's a chance that it's relying on undefined behavior. However, conveying pointers as
int
is also not exactly elegant. A proper fix may be to duplicate thesubscribe
system call wrapper implementation and declare it with a different type that accepts this upcall function signature.