Change theme
Help
Press space for more information.
Show links for this issue (Shortcut: i, l)
Copy issue ID
Previous Issue (Shortcut: k)
Next Issue (Shortcut: j)
Sign in to use full features.
Vote: I am impacted
Notification menu
Refresh (Shortcut: Shift+r)
Go home (Shortcut: u)
Pending code changes (auto-populated)
View issue level access limits(Press Alt + Right arrow for more information)
Request for new functionality
View staffing
Description
When Room is used with a SupportSQLiteDatabase, generated code will create cancelation signals and use them to promptly cancel queries. With driver APIs we bridge between Coroutine world (connection pool) and blocking native APIs (RawConnectionAccessor). It would be nice if Room's runtime or gen code handled cancelation of coroutine.
One idea is to use
runInterruptable
inperformSuspending
and on everystep()
call check for interruption, throwing cancellation to unwind the stack.This would only benefit JVM / Android though as thread interruption and
runInterruptable
are JVM onlySomething like this: aosp/3195612