blob: 1b0808c97fc25bdf869f35dbebda64edadcb29b2 (
plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
|
When profiling ext2fs, the shutdown stops all RPC, which thus interrupts this
open, and we have to retry here.
TODO: is open really supposed to expose such EINTR? Should the generic gmon
loop around EINTR (since there might be signals happening indeed)
diff --git a/gmon/gmon.c b/gmon/gmon.c
index 6439ed1caa..507ad0c9fc 100644
--- a/gmon/gmon.c
+++ b/gmon/gmon.c
@@ -390,8 +390,10 @@ write_gmon (void)
if (fd == -1)
{
+ do
fd = __open_nocancel ("gmon.out", O_CREAT | O_TRUNC | O_WRONLY
| O_NOFOLLOW | O_CLOEXEC, 0666);
+ while (fd < 0 && errno == EINTR);
if (fd < 0)
{
char buf[300];
|