diff options
author | xlai <xlai@chromium.org> | 2016-02-18 10:46:22 -0800 |
---|---|---|
committer | Commit bot <commit-bot@chromium.org> | 2016-02-18 18:48:10 +0000 |
commit | 8eb8fa6b1082bcee64d5bc98ed8d1004378c0331 (patch) | |
tree | cb35ecfd9c2e866927218558e5de0709db47af40 /sql | |
parent | 0d73762fb81356b5bf1832f4bc083b4946d182f8 (diff) | |
download | chromium_src-8eb8fa6b1082bcee64d5bc98ed8d1004378c0331.zip chromium_src-8eb8fa6b1082bcee64d5bc98ed8d1004378c0331.tar.gz chromium_src-8eb8fa6b1082bcee64d5bc98ed8d1004378c0331.tar.bz2 |
Transform JPEGImageEncoder to handle data race problem in jpeg initialization
There's a data race problem in chromium_jpeg_make_c_derived_tbl (Issue 581542).
Due to potential complexity of changing an upstream library, we enforce the
execution of chromium_jpeg_make_c_derived_tbl to happen only on the main thread
by splitting the JPEGImageEncoder::encode function into two parts: the first
part deals with initialization of jpeg struct (that wraps the problematic
chromium_jpeg_make_c_derived_tbl), the second part deals with the rest of
encoding process. We post the first part as a task on main thread and leaves
the second part on the Background thread pool.
This transformation of JPEGImageEncoder happens to be part of the efforts of
another Issue (Issue 571398: progressive image encoding for JPEG).
BUG=581542,571398
Review URL: https://codereview.chromium.org/1684943002
Cr-Commit-Position: refs/heads/master@{#376211}
Diffstat (limited to 'sql')
0 files changed, 0 insertions, 0 deletions