diff options
| author | Greg Hackmann <ghackmann@google.com> | 2014-03-17 20:45:51 +0000 |
|---|---|---|
| committer | Gerrit Code Review <noreply-gerritcodereview@google.com> | 2014-03-17 20:45:52 +0000 |
| commit | 998e022748876bc36905ba39e4825a4b634dc9d7 (patch) | |
| tree | b5541d41ca23d2e987b30f499ed4608480a48d1d | |
| parent | a0915abd2fb57113bc46e8d8fe5013ca4a9ef6e8 (diff) | |
| parent | 8084a53897b424ee751599c36c587f8463759516 (diff) | |
| download | system_core-998e022748876bc36905ba39e4825a4b634dc9d7.zip system_core-998e022748876bc36905ba39e4825a4b634dc9d7.tar.gz system_core-998e022748876bc36905ba39e4825a4b634dc9d7.tar.bz2 | |
Merge "liblog: improve errno handling on read failure"
| -rw-r--r-- | liblog/log_read.c | 10 |
1 files changed, 7 insertions, 3 deletions
diff --git a/liblog/log_read.c b/liblog/log_read.c index d96f129..2dd07e6 100644 --- a/liblog/log_read.c +++ b/liblog/log_read.c @@ -272,11 +272,11 @@ static ssize_t send_log_msg(struct logger *logger, const char *msg, char *buf, size_t buf_size) { ssize_t ret; + int errno_save = 0; int sock = socket_local_client("logd", ANDROID_SOCKET_NAMESPACE_RESERVED, SOCK_STREAM); if (sock < 0) { - ret = sock; - goto done; + return sock; } if (msg) { @@ -292,9 +292,12 @@ static ssize_t send_log_msg(struct logger *logger, done: if ((ret == -1) && errno) { - ret = -errno; + errno_save = errno; } close(sock); + if (errno_save) { + errno = errno_save; + } return ret; } @@ -305,6 +308,7 @@ static int check_log_success(char *buf, ssize_t ret) } if (strncmp(buf, "success", 7)) { + errno = EINVAL; return -1; } |
