Merge "libinstalld: add dependency on libselinux"
diff --git a/cmds/servicemanager/binder.c b/cmds/servicemanager/binder.c
index 6eecee1..3d14451 100644
--- a/cmds/servicemanager/binder.c
+++ b/cmds/servicemanager/binder.c
@@ -104,7 +104,7 @@
return NULL;
}
- bs->fd = open("/dev/binder", O_RDWR);
+ bs->fd = open("/dev/binder", O_RDWR | O_CLOEXEC);
if (bs->fd < 0) {
fprintf(stderr,"binder: cannot open device (%s)\n",
strerror(errno));
diff --git a/libs/binder/ProcessState.cpp b/libs/binder/ProcessState.cpp
index 821ab6c..33fe26c 100644
--- a/libs/binder/ProcessState.cpp
+++ b/libs/binder/ProcessState.cpp
@@ -310,9 +310,8 @@
static int open_driver()
{
- int fd = open("/dev/binder", O_RDWR);
+ int fd = open("/dev/binder", O_RDWR | O_CLOEXEC);
if (fd >= 0) {
- fcntl(fd, F_SETFD, FD_CLOEXEC);
int vers = 0;
status_t result = ioctl(fd, BINDER_VERSION, &vers);
if (result == -1) {
diff --git a/libs/binder/tests/binderDriverInterfaceTest.cpp b/libs/binder/tests/binderDriverInterfaceTest.cpp
index 315f349..0277550 100644
--- a/libs/binder/tests/binderDriverInterfaceTest.cpp
+++ b/libs/binder/tests/binderDriverInterfaceTest.cpp
@@ -34,7 +34,7 @@
int ret;
uint32_t max_threads = 0;
- m_binderFd = open(BINDER_DEV_NAME, O_RDWR | O_NONBLOCK);
+ m_binderFd = open(BINDER_DEV_NAME, O_RDWR | O_NONBLOCK | O_CLOEXEC);
ASSERT_GE(m_binderFd, 0);
m_buffer = mmap(NULL, 64*1024, PROT_READ, MAP_SHARED, m_binderFd, 0);
ASSERT_NE(m_buffer, (void *)NULL);