fdtrack: add wrapper for eventfd.
Bug: https://issuetracker.google.com/154450436
Test: bionic-unit-tests
Change-Id: I59013f0c4da0debbcc50269c64ae9db0cdc4eaa0
(cherry picked from commit 7de412443dd4201c61d7bb17c443bbf2dfd96bad)
diff --git a/libc/bionic/eventfd_read.cpp b/libc/bionic/eventfd.cpp
similarity index 82%
rename from libc/bionic/eventfd_read.cpp
rename to libc/bionic/eventfd.cpp
index 50e73fd..f13c6a3 100644
--- a/libc/bionic/eventfd_read.cpp
+++ b/libc/bionic/eventfd.cpp
@@ -29,6 +29,18 @@
#include <sys/eventfd.h>
#include <unistd.h>
+#include "private/bionic_fdtrack.h"
+
+extern "C" int __eventfd(unsigned int initval, int flags);
+
+int eventfd(unsigned int initval, int flags) {
+ return FDTRACK_CREATE(__eventfd(initval, flags));
+}
+
int eventfd_read(int fd, eventfd_t* value) {
return (read(fd, value, sizeof(*value)) == sizeof(*value)) ? 0 : -1;
}
+
+int eventfd_write(int fd, eventfd_t value) {
+ return (write(fd, &value, sizeof(value)) == sizeof(value)) ? 0 : -1;
+}
diff --git a/libc/bionic/eventfd_write.cpp b/libc/bionic/eventfd_write.cpp
index 3c3d3f1..6d86d8c 100644
--- a/libc/bionic/eventfd_write.cpp
+++ b/libc/bionic/eventfd_write.cpp
@@ -29,6 +29,3 @@
#include <sys/eventfd.h>
#include <unistd.h>
-int eventfd_write(int fd, eventfd_t value) {
- return (write(fd, &value, sizeof(value)) == sizeof(value)) ? 0 : -1;
-}