summaryrefslogtreecommitdiff
path: root/rs/java/android/renderscript/Allocation.java
diff options
context:
space:
mode:
authorriddle_hsu <riddle_hsu@htc.com>2015-05-15 11:33:03 +0800
committerriddle_hsu <riddle_hsu@htc.com>2015-05-15 11:33:03 +0800
commitdaf23d9c7760b9dc516291cb378205c863f76d95 (patch)
treed04b2735c2aa3b0a8529a9b4e31670f8504358a3 /rs/java/android/renderscript/Allocation.java
parent7b566da55afad480622c328d658f0e654019688d (diff)
Fix lost singleton provider after force-stopping user or package.
Case 1 (name == null): Switch user from guest to owner. All processes of guest will be killed, it will not include processes which singleton components live in, but singleton provider records are still collected and removed. When the user switch is complete and the process of removed singleton provider is still alive, there is someone access the provider, it will create a new ContentProviderRecord and wait but no one will notify it because the provider process is alive with different ContentProviderRecord. Then the access cannot get response unless the process of target provider is died and restarted. Case 2 (name != null): Switch to another non-guest user, launch an application which contains singleton provider. Go to Settings to force-stop the package then switch back to owner user. Launch an application which will access the singleton provider. It will also cannot get response that similar as case 1. Solution: Only collect singleton provider if target user is all or owner. Change-Id: Ic6828da66645172d1378cfb1f66d092df5966516
Diffstat (limited to 'rs/java/android/renderscript/Allocation.java')
0 files changed, 0 insertions, 0 deletions