diff --git a/emper/io.hpp b/emper/io.hpp
index 64efb93f7d4ea50913c7876bbeb5831eb4c0fa99..b75f31cb1c6fa0143de9622f13e2fe81316c294b 100644
--- a/emper/io.hpp
+++ b/emper/io.hpp
@@ -370,7 +370,7 @@ inline auto writevAndWait(int fildes, const struct iovec *iov, int iovcnt) -> ss
  *
  * @return fd on success, -1 on error
  */
-inline auto openatAndWait(int dirfd, const char *pathname, int flags, mode_t mode = 0) -> size_t {
+inline auto openatAndWait(int dirfd, const char *pathname, int flags, mode_t mode = 0) -> int {
 	OpenatFuture future(dirfd, pathname, flags, mode);
 	future.submit();
 	return future.waitAndSetErrno();
@@ -407,7 +407,7 @@ inline auto openatAndWait(int dirfd, const char *pathname, int flags, mode_t mod
  *
  * @return fd on success, -1 on error
  */
-inline auto openAndWait(const char *pathname, int flags, mode_t mode = 0) -> size_t {
+inline auto openAndWait(const char *pathname, int flags, mode_t mode = 0) -> int {
 	OpenatFuture future(AT_FDCWD, pathname, flags, mode);
 	future.submit();
 	return future.waitAndSetErrno();
@@ -439,7 +439,7 @@ inline auto openAndWait(const char *pathname, int flags, mode_t mode = 0) -> siz
  *
  * @return 0 on success, -1 on error
  */
-inline auto closeAndWait(int fd) -> ssize_t {
+inline auto closeAndWait(int fd) -> int {
 	CloseFuture future(fd);
 	future.submit();
 	return future.waitAndSetErrno();