15 lines
408 B
C++
15 lines
408 B
C++
#include "helpers.h"
|
|
|
|
ssize_t write_all(int fd, const void *buf, size_t count) {
|
|
const char *p = (const char *)buf;
|
|
while (count > 0) {
|
|
ssize_t written = write(fd, p, count);
|
|
if (written == -1) {
|
|
if (errno == EINTR || errno == EAGAIN) continue; // Retry
|
|
return -1; // Other errors
|
|
}
|
|
count -= written;
|
|
p += written;
|
|
}
|
|
return 0;
|
|
} |