summaryrefslogtreecommitdiff
path: root/src/Input.cc
diff options
context:
space:
mode:
authorNicolas 'Pixel' Noble <pixel@nobis-crew.org>2013-01-21 16:22:45 -0800
committerNicolas 'Pixel' Noble <pixel@nobis-crew.org>2013-01-21 16:22:45 -0800
commitd2fdc279df461d164860cf08645affca39232355 (patch)
tree295f453fefc2bf2b0e8daf4d05418f65bc015a5b /src/Input.cc
parent56b8ca62c666a1b747766a5ede70db070977ad37 (diff)
Output operations open, close and write are now fully interruptible.
Diffstat (limited to 'src/Input.cc')
-rw-r--r--src/Input.cc12
1 files changed, 6 insertions, 6 deletions
diff --git a/src/Input.cc b/src/Input.cc
index b83a1be..a86468e 100644
--- a/src/Input.cc
+++ b/src/Input.cc
@@ -35,7 +35,7 @@ class AsyncOpOpen : public Balau::AsyncOperation {
public:
AsyncOpOpen(const char * path, cbResults_t * results) : m_path(path), m_results(results) { }
virtual void run() {
- int r = m_results->result = open(m_path, O_RDONLY);
+ const ssize_t r = m_results->result = open(m_path, O_RDONLY);
m_results->errorno = r < 0 ? errno : 0;
}
virtual void done() {
@@ -51,7 +51,7 @@ class AsyncOpStat : public Balau::AsyncOperation {
public:
AsyncOpStat(int fd, cbResults_t * results) : m_fd(fd), m_results(results) { }
virtual void run() {
- int r = m_results->result = fstat(m_fd, &m_results->statdata);
+ const ssize_t r = m_results->result = fstat(m_fd, &m_results->statdata);
m_results->errorno = r < 0 ? errno : 0;
}
virtual void done() {
@@ -83,7 +83,7 @@ void Balau::Input::open() throw (GeneralException) {
cbResults_t * cbResults;
if (!m_pendingOp) {
- m_pendingOp = cbResults = new cbResults_t;
+ m_pendingOp = cbResults = new cbResults_t();
cbResults->type = cbResults_t::NONE;
} else {
cbResults = (cbResults_t *) m_pendingOp;
@@ -109,7 +109,7 @@ void Balau::Input::open() throw (GeneralException) {
}
delete cbResults;
- m_pendingOp = cbResults = new cbResults_t;
+ m_pendingOp = cbResults = new cbResults_t();
cbResults->type = cbResults_t::STAT;
createAsyncOp(new AsyncOpStat(m_fd, cbResults));
Task::operationYield(&cbResults->evt, Task::INTERRUPTIBLE);
@@ -145,7 +145,7 @@ class AsyncOpClose : public Balau::AsyncOperation {
public:
AsyncOpClose(int fd, cbResults_t * results) : m_fd(fd), m_results(results) { }
virtual void run() {
- int r = m_results->result = close(m_fd);
+ const ssize_t r = m_results->result = close(m_fd);
m_results->errorno = r < 0 ? errno : 0;
}
virtual void done() {
@@ -211,7 +211,7 @@ class AsyncOpRead : public Balau::AsyncOperation {
public:
AsyncOpRead(int fd, void * buf, size_t count, off_t offset, cbResults_t * results) : m_fd(fd), m_buf(buf), m_count(count), m_offset(offset), m_results(results) { }
virtual void run() {
- ssize_t r = m_results->result = pread(m_fd, m_buf, m_count, m_offset);
+ const ssize_t r = m_results->result = pread(m_fd, m_buf, m_count, m_offset);
m_results->errorno = r < 0 ? errno : 0;
}
virtual void done() {