Skip to content

Commit a73cde7

Browse files
dsharletgxnnpack-bot
authored andcommitted
Fix data race in xnn_set_fingerprint
PiperOrigin-RevId: 836152217
1 parent 3ceb846 commit a73cde7

File tree

1 file changed

+4
-5
lines changed

1 file changed

+4
-5
lines changed

src/operators/fingerprint_cache.c

Lines changed: 4 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -50,12 +50,11 @@ void xnn_set_fingerprint(const struct xnn_fingerprint fingerprint) {
5050
break;
5151
}
5252
}
53-
xnn_mutex_unlock(&mutex);
54-
if (i < fingerprint_vector_size) {
55-
return;
53+
if (i >= fingerprint_vector_size) {
54+
assert(fingerprint_vector_size < XNN_FINGERPRINT_MAX_COUNT);
55+
fingerprint_vector[fingerprint_vector_size++] = fingerprint;
5656
}
57-
assert(fingerprint_vector_size < XNN_FINGERPRINT_MAX_COUNT);
58-
fingerprint_vector[fingerprint_vector_size++] = fingerprint;
57+
xnn_mutex_unlock(&mutex);
5958
}
6059

6160
void xnn_clear_fingerprints() {

0 commit comments

Comments
 (0)