Copyright ownership transfer
[lttng-ust.git] / src / common / utils.c
CommitLineData
4667b192
MJ
1/*
2 * SPDX-License-Identifier: LGPL-2.1-only
3 *
2137460a 4 * Copyright (C) 2011 EfficiOS Inc.
4667b192
MJ
5 * Copyright (C) 2011 Mathieu Desnoyers <mathieu.desnoyers@efficios.com>
6 */
7
8#include <errno.h>
9#include <stdio.h>
10#include <unistd.h>
11
12#include "common/utils.h"
13
14ssize_t lttng_ust_read(int fd, void *buf, size_t len)
15{
16 ssize_t ret;
17 size_t copied = 0, to_copy = len;
18
19 do {
20 ret = read(fd, buf + copied, to_copy);
21 if (ret > 0) {
22 copied += ret;
23 to_copy -= ret;
24 }
25 } while ((ret > 0 && to_copy > 0)
26 || (ret < 0 && errno == EINTR));
27 if (ret > 0) {
28 ret = copied;
29 }
30 return ret;
31}
This page took 0.024016 seconds and 4 git commands to generate.