am ddccd24f: Merge "liblog: remove internal __write_to_log_null"
* commit 'ddccd24f446797cfc3455f309d55c54183b64b53': liblog: remove internal __write_to_log_null
This commit is contained in:
commit
229f332f45
1 changed files with 27 additions and 37 deletions
|
|
@ -90,15 +90,6 @@ int __android_log_dev_available(void)
|
||||||
return (g_log_status == kLogAvailable);
|
return (g_log_status == kLogAvailable);
|
||||||
}
|
}
|
||||||
|
|
||||||
#if !FAKE_LOG_DEVICE
|
|
||||||
/* give up, resources too limited */
|
|
||||||
static int __write_to_log_null(log_id_t log_fd __unused, struct iovec *vec __unused,
|
|
||||||
size_t nr __unused)
|
|
||||||
{
|
|
||||||
return -1;
|
|
||||||
}
|
|
||||||
#endif
|
|
||||||
|
|
||||||
/* log_init_lock assumed */
|
/* log_init_lock assumed */
|
||||||
static int __write_to_log_initialize()
|
static int __write_to_log_initialize()
|
||||||
{
|
{
|
||||||
|
|
@ -111,40 +102,32 @@ static int __write_to_log_initialize()
|
||||||
log_fds[i] = fakeLogOpen(buf, O_WRONLY);
|
log_fds[i] = fakeLogOpen(buf, O_WRONLY);
|
||||||
}
|
}
|
||||||
#else
|
#else
|
||||||
if (logd_fd >= 0) {
|
if (pstore_fd < 0) {
|
||||||
i = logd_fd;
|
pstore_fd = TEMP_FAILURE_RETRY(open("/dev/pmsg0", O_WRONLY));
|
||||||
logd_fd = -1;
|
|
||||||
close(i);
|
|
||||||
}
|
}
|
||||||
if (pstore_fd >= 0) {
|
|
||||||
i = pstore_fd;
|
|
||||||
pstore_fd = -1;
|
|
||||||
close(i);
|
|
||||||
}
|
|
||||||
pstore_fd = open("/dev/pmsg0", O_WRONLY);
|
|
||||||
|
|
||||||
i = socket(PF_UNIX, SOCK_DGRAM | SOCK_CLOEXEC, 0);
|
if (logd_fd < 0) {
|
||||||
if (i < 0) {
|
i = TEMP_FAILURE_RETRY(socket(PF_UNIX, SOCK_DGRAM | SOCK_CLOEXEC, 0));
|
||||||
ret = -errno;
|
if (i < 0) {
|
||||||
write_to_log = __write_to_log_null;
|
ret = -errno;
|
||||||
} else if (fcntl(i, F_SETFL, O_NONBLOCK) < 0) {
|
} else if (TEMP_FAILURE_RETRY(fcntl(i, F_SETFL, O_NONBLOCK)) < 0) {
|
||||||
ret = -errno;
|
|
||||||
close(i);
|
|
||||||
i = -1;
|
|
||||||
write_to_log = __write_to_log_null;
|
|
||||||
} else {
|
|
||||||
struct sockaddr_un un;
|
|
||||||
memset(&un, 0, sizeof(struct sockaddr_un));
|
|
||||||
un.sun_family = AF_UNIX;
|
|
||||||
strcpy(un.sun_path, "/dev/socket/logdw");
|
|
||||||
|
|
||||||
if (connect(i, (struct sockaddr *)&un, sizeof(struct sockaddr_un)) < 0) {
|
|
||||||
ret = -errno;
|
ret = -errno;
|
||||||
close(i);
|
close(i);
|
||||||
i = -1;
|
} else {
|
||||||
|
struct sockaddr_un un;
|
||||||
|
memset(&un, 0, sizeof(struct sockaddr_un));
|
||||||
|
un.sun_family = AF_UNIX;
|
||||||
|
strcpy(un.sun_path, "/dev/socket/logdw");
|
||||||
|
|
||||||
|
if (TEMP_FAILURE_RETRY(connect(i, (struct sockaddr *)&un,
|
||||||
|
sizeof(struct sockaddr_un))) < 0) {
|
||||||
|
ret = -errno;
|
||||||
|
close(i);
|
||||||
|
} else {
|
||||||
|
logd_fd = i;
|
||||||
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
logd_fd = i;
|
|
||||||
#endif
|
#endif
|
||||||
|
|
||||||
return ret;
|
return ret;
|
||||||
|
|
@ -293,6 +276,8 @@ static int __write_to_log_daemon(log_id_t log_id, struct iovec *vec, size_t nr)
|
||||||
#if !defined(_WIN32)
|
#if !defined(_WIN32)
|
||||||
pthread_mutex_lock(&log_init_lock);
|
pthread_mutex_lock(&log_init_lock);
|
||||||
#endif
|
#endif
|
||||||
|
close(logd_fd);
|
||||||
|
logd_fd = -1;
|
||||||
ret = __write_to_log_initialize();
|
ret = __write_to_log_initialize();
|
||||||
#if !defined(_WIN32)
|
#if !defined(_WIN32)
|
||||||
pthread_mutex_unlock(&log_init_lock);
|
pthread_mutex_unlock(&log_init_lock);
|
||||||
|
|
@ -350,6 +335,11 @@ static int __write_to_log_init(log_id_t log_id, struct iovec *vec, size_t nr)
|
||||||
if (ret < 0) {
|
if (ret < 0) {
|
||||||
#if !defined(_WIN32)
|
#if !defined(_WIN32)
|
||||||
pthread_mutex_unlock(&log_init_lock);
|
pthread_mutex_unlock(&log_init_lock);
|
||||||
|
#endif
|
||||||
|
#if (FAKE_LOG_DEVICE == 0)
|
||||||
|
if (pstore_fd >= 0) {
|
||||||
|
__write_to_log_daemon(log_id, vec, nr);
|
||||||
|
}
|
||||||
#endif
|
#endif
|
||||||
return ret;
|
return ret;
|
||||||
}
|
}
|
||||||
|
|
|
||||||
Loading…
Add table
Reference in a new issue