summaryrefslogtreecommitdiffstats
path: root/ctdb/common
diff options
context:
space:
mode:
authorMartin Schwenke <martin@meltin.net>2014-07-30 21:03:53 +1000
committerAmitay Isaacs <amitay@samba.org>2014-08-21 04:46:13 +0200
commitc1558adeaa980fb4bd6177d36250ec8262e9b9fe (patch)
tree6fa97d8445700bdbd52429f1335a96e721f193ce /ctdb/common
parentfcd6ee1eac8627e75f72019027513cc46429a3a9 (diff)
downloadsamba-c1558adeaa980fb4bd6177d36250ec8262e9b9fe.tar.gz
samba-c1558adeaa980fb4bd6177d36250ec8262e9b9fe.tar.xz
samba-c1558adeaa980fb4bd6177d36250ec8262e9b9fe.zip
ctdb: Use sys_read() and sys_write() to ensure correct signal interaction
... and avoid compiler warnings in some cases. Signed-off-by: Martin Schwenke <martin@meltin.net> Reviewed-by: Amitay Isaacs <amitay@gmail.com>
Diffstat (limited to 'ctdb/common')
-rw-r--r--ctdb/common/ctdb_io.c10
1 files changed, 6 insertions, 4 deletions
diff --git a/ctdb/common/ctdb_io.c b/ctdb/common/ctdb_io.c
index b5f8a7274c..467ec9a0fa 100644
--- a/ctdb/common/ctdb_io.c
+++ b/ctdb/common/ctdb_io.c
@@ -196,7 +196,9 @@ static void queue_io_read(struct ctdb_queue *queue)
}
if (num_ready > 0) {
- nread = read(queue->fd, queue->buffer.data + queue->buffer.length, num_ready);
+ nread = sys_read(queue->fd,
+ queue->buffer.data + queue->buffer.length,
+ num_ready);
if (nread <= 0) {
DEBUG(DEBUG_ERR, ("read error nread=%d\n", (int)nread));
goto failed;
@@ -230,9 +232,9 @@ static void queue_io_write(struct ctdb_queue *queue)
struct ctdb_queue_pkt *pkt = queue->out_queue;
ssize_t n;
if (queue->ctdb->flags & CTDB_FLAG_TORTURE) {
- n = write(queue->fd, pkt->data, 1);
+ n = sys_write(queue->fd, pkt->data, 1);
} else {
- n = write(queue->fd, pkt->data, pkt->length);
+ n = sys_write(queue->fd, pkt->data, pkt->length);
}
if (n == -1 && errno != EAGAIN && errno != EWOULDBLOCK) {
@@ -308,7 +310,7 @@ int ctdb_queue_send(struct ctdb_queue *queue, uint8_t *data, uint32_t length)
queue overhead. This relies on non-blocking sockets */
if (queue->out_queue == NULL && queue->fd != -1 &&
!(queue->ctdb->flags & CTDB_FLAG_TORTURE)) {
- ssize_t n = write(queue->fd, data, length2);
+ ssize_t n = sys_write(queue->fd, data, length2);
if (n == -1 && errno != EAGAIN && errno != EWOULDBLOCK) {
talloc_free(queue->fde);
queue->fde = NULL;