diff options
| author | 2024-10-22 09:47:19 -0700 | |
|---|---|---|
| committer | 2024-10-22 14:50:20 -0700 | |
| commit | 1739413aad881dc4d6473ae7a5f9363b7b83ab22 (patch) | |
| tree | e02e513d7a120fa120589b51f9421959287b540a /api/api_test.go | |
| parent | dbea722f1e388bae5976c6a5eca0508044cbf194 (diff) | |
Finalize BulkCursorNative asynchronously
BulkNativeCursor should be closed explicitly but when it is not, it is
closed by the finalizer. If the remote process is busy, this can
trigger a TimeoutException from the FinalizerWatchdogDaemon. The
solution is to make the remote call asynchronous, if the current
thread is the finalizer.
This is a best-effort mitigation, for clients that fail to explicitly
close BulkNativeCursor instances.
Tested with an instrumented build that leaked a BulkNativeCursor and
waited for the finalizer to clean up the instance. Verified that the
remote call was one-way.
Flag: android.database.sqlite.oneway_finalizer_close
Bug: 368221351
Test: atest
* FrameworksCoreTests:android.database
* CtsDatabaseTestCases
Change-Id: I39b1a4b4465b4b9d66c73c80db0455b1352c7862
Diffstat (limited to 'api/api_test.go')
0 files changed, 0 insertions, 0 deletions