summaryrefslogtreecommitdiff
path: root/deps/uv/src/unix/linux-core.c
diff options
context:
space:
mode:
authorBen Noordhuis <info@bnoordhuis.nl>2013-07-16 21:04:31 +0200
committerBen Noordhuis <info@bnoordhuis.nl>2013-07-20 12:04:35 +0200
commit0e48cb4998a89a2adae95d97f3bce5f89c77d762 (patch)
tree754bf7e9765fbeb8f0fe9418d9d399335c7c7af8 /deps/uv/src/unix/linux-core.c
parent221c689ebbac9bda42c005b7f0278ce420766b22 (diff)
downloadandroid-node-v8-0e48cb4998a89a2adae95d97f3bce5f89c77d762.tar.gz
android-node-v8-0e48cb4998a89a2adae95d97f3bce5f89c77d762.tar.bz2
android-node-v8-0e48cb4998a89a2adae95d97f3bce5f89c77d762.zip
deps: upgrade libuv to 3ee4d3f
Diffstat (limited to 'deps/uv/src/unix/linux-core.c')
-rw-r--r--deps/uv/src/unix/linux-core.c76
1 files changed, 37 insertions, 39 deletions
diff --git a/deps/uv/src/unix/linux-core.c b/deps/uv/src/unix/linux-core.c
index f18da7a8c2..8365ea8618 100644
--- a/deps/uv/src/unix/linux-core.c
+++ b/deps/uv/src/unix/linux-core.c
@@ -86,7 +86,7 @@ int uv__platform_loop_init(uv_loop_t* loop, int default_loop) {
loop->inotify_watchers = NULL;
if (fd == -1)
- return -1;
+ return -errno;
return 0;
}
@@ -263,12 +263,13 @@ void uv_loadavg(double avg[3]) {
int uv_exepath(char* buffer, size_t* size) {
ssize_t n;
- if (!buffer || !size) {
- return -1;
- }
+ if (buffer == NULL || size == NULL)
+ return -EINVAL;
n = readlink("/proc/self/exe", buffer, *size - 1);
- if (n <= 0) return -1;
+ if (n == -1)
+ return -errno;
+
buffer[n] = '\0';
*size = n;
@@ -286,7 +287,7 @@ uint64_t uv_get_total_memory(void) {
}
-uv_err_t uv_resident_set_memory(size_t* rss) {
+int uv_resident_set_memory(size_t* rss) {
char buf[1024];
const char* s;
ssize_t n;
@@ -299,7 +300,7 @@ uv_err_t uv_resident_set_memory(size_t* rss) {
while (fd == -1 && errno == EINTR);
if (fd == -1)
- return uv__new_sys_error(errno);
+ return -errno;
do
n = read(fd, buf, sizeof(buf) - 1);
@@ -307,7 +308,7 @@ uv_err_t uv_resident_set_memory(size_t* rss) {
SAVE_ERRNO(close(fd));
if (n == -1)
- return uv__new_sys_error(errno);
+ return -errno;
buf[n] = '\0';
s = strchr(buf, ' ');
@@ -336,14 +337,14 @@ uv_err_t uv_resident_set_memory(size_t* rss) {
goto err;
*rss = val * getpagesize();
- return uv_ok_;
+ return 0;
err:
- return uv__new_artificial_error(UV_EINVAL);
+ return -EINVAL;
}
-uv_err_t uv_uptime(double* uptime) {
+int uv_uptime(double* uptime) {
static volatile int no_clock_boottime;
struct timespec now;
int r;
@@ -361,17 +362,18 @@ uv_err_t uv_uptime(double* uptime) {
}
if (r)
- return uv__new_sys_error(errno);
+ return -errno;
*uptime = now.tv_sec;
*uptime += (double)now.tv_nsec / 1000000000.0;
- return uv_ok_;
+ return 0;
}
-uv_err_t uv_cpu_info(uv_cpu_info_t** cpu_infos, int* count) {
+int uv_cpu_info(uv_cpu_info_t** cpu_infos, int* count) {
unsigned int numcpus;
uv_cpu_info_t* ci;
+ int err;
*cpu_infos = NULL;
*count = 0;
@@ -382,16 +384,15 @@ uv_err_t uv_cpu_info(uv_cpu_info_t** cpu_infos, int* count) {
ci = calloc(numcpus, sizeof(*ci));
if (ci == NULL)
- return uv__new_sys_error(ENOMEM);
+ return -ENOMEM;
- if (read_models(numcpus, ci)) {
- SAVE_ERRNO(uv_free_cpu_info(ci, numcpus));
- return uv__new_sys_error(errno);
- }
+ err = read_models(numcpus, ci);
+ if (err == 0)
+ err = read_times(numcpus, ci);
- if (read_times(numcpus, ci)) {
- SAVE_ERRNO(uv_free_cpu_info(ci, numcpus));
- return uv__new_sys_error(errno);
+ if (err) {
+ uv_free_cpu_info(ci, numcpus);
+ return err;
}
/* read_models() on x86 also reads the CPU speed from /proc/cpuinfo.
@@ -403,7 +404,7 @@ uv_err_t uv_cpu_info(uv_cpu_info_t** cpu_infos, int* count) {
*cpu_infos = ci;
*count = numcpus;
- return uv_ok_;
+ return 0;
}
@@ -447,7 +448,7 @@ static int read_models(unsigned int numcpus, uv_cpu_info_t* ci) {
defined(__x86_64__)
fp = fopen("/proc/cpuinfo", "r");
if (fp == NULL)
- return -1;
+ return -errno;
while (fgets(buf, sizeof(buf), fp)) {
if (model_idx < numcpus) {
@@ -456,7 +457,7 @@ static int read_models(unsigned int numcpus, uv_cpu_info_t* ci) {
model = strndup(model, strlen(model) - 1); /* Strip newline. */
if (model == NULL) {
fclose(fp);
- return -1;
+ return -ENOMEM;
}
ci[model_idx++].model = model;
continue;
@@ -475,7 +476,7 @@ static int read_models(unsigned int numcpus, uv_cpu_info_t* ci) {
model = strndup(model, strlen(model) - 1); /* Strip newline. */
if (model == NULL) {
fclose(fp);
- return -1;
+ return -ENOMEM;
}
ci[model_idx++].model = model;
continue;
@@ -505,7 +506,7 @@ static int read_models(unsigned int numcpus, uv_cpu_info_t* ci) {
while (model_idx < numcpus) {
model = strndup(inferred_model, strlen(inferred_model));
if (model == NULL)
- return -1;
+ return -ENOMEM;
ci[model_idx++].model = model;
}
@@ -533,7 +534,7 @@ static int read_times(unsigned int numcpus, uv_cpu_info_t* ci) {
fp = fopen("/proc/stat", "r");
if (fp == NULL)
- return -1;
+ return -errno;
if (!fgets(buf, sizeof(buf), fp))
abort();
@@ -617,18 +618,17 @@ void uv_free_cpu_info(uv_cpu_info_t* cpu_infos, int count) {
}
-uv_err_t uv_interface_addresses(uv_interface_address_t** addresses,
+int uv_interface_addresses(uv_interface_address_t** addresses,
int* count) {
#ifndef HAVE_IFADDRS_H
- return uv__new_artificial_error(UV_ENOSYS);
+ return -ENOSYS;
#else
struct ifaddrs *addrs, *ent;
char ip[INET6_ADDRSTRLEN];
uv_interface_address_t* address;
- if (getifaddrs(&addrs) != 0) {
- return uv__new_sys_error(errno);
- }
+ if (getifaddrs(&addrs))
+ return -errno;
*count = 0;
@@ -643,11 +643,9 @@ uv_err_t uv_interface_addresses(uv_interface_address_t** addresses,
(*count)++;
}
- *addresses = (uv_interface_address_t*)
- malloc(*count * sizeof(uv_interface_address_t));
- if (!(*addresses)) {
- return uv__new_artificial_error(UV_ENOMEM);
- }
+ *addresses = malloc(*count * sizeof(**addresses));
+ if (!(*addresses))
+ return -ENOMEM;
address = *addresses;
@@ -690,7 +688,7 @@ uv_err_t uv_interface_addresses(uv_interface_address_t** addresses,
freeifaddrs(addrs);
- return uv_ok_;
+ return 0;
#endif
}