I understand using eventfd is less overhead than using pipe. However, the eventfd is more linux specific and is not POSIX compliant.
Could we not fallback to pipe on POSIX variants ? What overhead is being seen on using eventfd as to the pipe ? I see that in the past pipe2 is used for O_NONBLOCK. Unfortunately pipe2 is non POSIX as well.
So the question is, if we use a POSIX OS (be it Linux, BSD, or any other POSIX compliant), does the capicxx-someip-runtime and the core-runtime compile ? I am not sure if it would, given that parts of the code is Linux specific. And are there any plans in moving to use more POSIX friendly calls ?
https://github.com/GENIVI/capicxx-someip-runtime/blob/92ece2f78f5e71ba3dbe4a27e9ba61d3565bd72f/src/CommonAPI/SomeIP/Watch.cpp#L157
I understand using
eventfd
is less overhead than usingpipe
. However, theeventfd
is more linux specific and is not POSIX compliant.Could we not fallback to
pipe
on POSIX variants ? What overhead is being seen on usingeventfd
as to thepipe
? I see that in the pastpipe2
is used forO_NONBLOCK
. Unfortunatelypipe2
is non POSIX as well.So the question is, if we use a POSIX OS (be it Linux, BSD, or any other POSIX compliant), does the capicxx-someip-runtime and the core-runtime compile ? I am not sure if it would, given that parts of the code is Linux specific. And are there any plans in moving to use more POSIX friendly calls ?
Thanks