Skip to content

Commit 46ac74b

Browse files
peffgitster
authored andcommitted
trace: disable key after write error
If we get a write error writing to a trace descriptor, the error isn't likely to go away if we keep writing. Instead, you'll just get the same error over and over. E.g., try: GIT_TRACE_PACKET=42 git ls-remote >/dev/null You don't really need to see: warning: unable to write trace for GIT_TRACE_PACKET: Bad file descriptor hundreds of times. We could fallback to tracing to stderr, as we do in the error code-path for open(), but there's not much point. If the user fed us a bogus descriptor, they're probably better off fixing their invocation. And if they didn't, and we saw a transient error (e.g., ENOSPC writing to a file), it probably doesn't help anybody to have half of the trace in a file, and half on stderr. Signed-off-by: Jeff King <[email protected]> Signed-off-by: Junio C Hamano <[email protected]>
1 parent 3b0c3ab commit 46ac74b

File tree

1 file changed

+1
-0
lines changed

1 file changed

+1
-0
lines changed

trace.c

+1
Original file line numberDiff line numberDiff line change
@@ -134,6 +134,7 @@ static void trace_write(struct trace_key *key, const void *buf, unsigned len)
134134
normalize_trace_key(&key);
135135
warning("unable to write trace for %s: %s",
136136
key->key, strerror(errno));
137+
trace_disable(key);
137138
}
138139
}
139140

0 commit comments

Comments
 (0)