projects
/
babeltrace.git
/ blobdiff
commit
grep
author
committer
pickaxe
?
search:
re
summary
|
shortlog
|
log
|
commit
|
commitdiff
|
tree
raw
|
inline
| side by side
Fix: handle EINTR return value for bt_posix_fallocate
[babeltrace.git]
/
formats
/
ctf
/
writer
/
event-fields.c
diff --git
a/formats/ctf/writer/event-fields.c
b/formats/ctf/writer/event-fields.c
index 461888f9b09498e0ea558d9b39b2ccd3aa46ce7f..c49bc3fa6dc1bca5b325b1be872480c9e68a1487 100644
(file)
--- a/
formats/ctf/writer/event-fields.c
+++ b/
formats/ctf/writer/event-fields.c
@@
-30,6
+30,7
@@
#include <babeltrace/ctf-writer/event-fields-internal.h>
#include <babeltrace/ctf-writer/event-types-internal.h>
#include <babeltrace/compiler.h>
#include <babeltrace/ctf-writer/event-fields-internal.h>
#include <babeltrace/ctf-writer/event-types-internal.h>
#include <babeltrace/compiler.h>
+#include <babeltrace/compat/fcntl.h>
#define PACKET_LEN_INCREMENT (getpagesize() * 8 * CHAR_BIT)
#define PACKET_LEN_INCREMENT (getpagesize() * 8 * CHAR_BIT)
@@
-1241,9
+1242,13
@@
int increase_packet_size(struct ctf_stream_pos *pos)
}
pos->packet_size += PACKET_LEN_INCREMENT;
}
pos->packet_size += PACKET_LEN_INCREMENT;
- ret = posix_fallocate(pos->fd, pos->mmap_offset,
- pos->packet_size / CHAR_BIT);
+ do {
+ ret = bt_posix_fallocate(pos->fd, pos->mmap_offset,
+ pos->packet_size / CHAR_BIT);
+ } while (ret == EINTR);
if (ret) {
if (ret) {
+ errno = EINTR;
+ ret = -1;
goto end;
}
goto end;
}
This page took
0.026029 seconds
and
4
git commands to generate.