am 36462d9d
: Merge "Add more logging for dup(fd) failure" into lmp-dev
* commit '36462d9de00105ae46ee3dbb0f644fa6af599f97': Add more logging for dup(fd) failure
This commit is contained in:
commit
dea558703a
@ -36,6 +36,7 @@
|
|||||||
|
|
||||||
#include <private/binder/binder_module.h>
|
#include <private/binder/binder_module.h>
|
||||||
|
|
||||||
|
#include <fcntl.h>
|
||||||
#include <inttypes.h>
|
#include <inttypes.h>
|
||||||
#include <stdio.h>
|
#include <stdio.h>
|
||||||
#include <stdlib.h>
|
#include <stdlib.h>
|
||||||
@ -1280,11 +1281,22 @@ status_t Parcel::read(FlattenableHelperInterface& val) const
|
|||||||
|
|
||||||
status_t err = NO_ERROR;
|
status_t err = NO_ERROR;
|
||||||
for (size_t i=0 ; i<fd_count && err==NO_ERROR ; i++) {
|
for (size_t i=0 ; i<fd_count && err==NO_ERROR ; i++) {
|
||||||
fds[i] = dup(this->readFileDescriptor());
|
int oldfd = this->readFileDescriptor();
|
||||||
|
fds[i] = dup(oldfd);
|
||||||
if (fds[i] < 0) {
|
if (fds[i] < 0) {
|
||||||
|
int dupErrno = errno;
|
||||||
err = BAD_VALUE;
|
err = BAD_VALUE;
|
||||||
ALOGE("dup() failed in Parcel::read, i is %zu, fds[i] is %d, fd_count is %zu, error: %s",
|
int flags = fcntl(oldfd, F_GETFD);
|
||||||
i, fds[i], fd_count, strerror(errno));
|
int fcntlErrno = errno;
|
||||||
|
const flat_binder_object* flat = readObject(true);
|
||||||
|
ALOGE("dup failed in Parcel::read, fd %zu of %zu\n"
|
||||||
|
" dup(%d) = %d [errno: %d (%s)]\n"
|
||||||
|
" fcntl(%d, F_GETFD) = %d [errno: %d (%s)]\n"
|
||||||
|
" flat %p type %d",
|
||||||
|
i, fd_count,
|
||||||
|
oldfd, fds[i], dupErrno, strerror(dupErrno),
|
||||||
|
oldfd, flags, fcntlErrno, strerror(fcntlErrno),
|
||||||
|
flat, flat ? flat->type : 0);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
Loading…
Reference in New Issue
Block a user