diff options
| author | Brian Carlstrom <bdc@google.com> | 2011-01-17 22:44:10 -0800 |
|---|---|---|
| committer | Brian Carlstrom <bdc@google.com> | 2011-01-18 09:33:53 -0800 |
| commit | 41e32e5a6b091b2f8682f525bae47deb395be4b1 (patch) | |
| tree | 4679f2830ee899145487d74dff5d5643c15fdd12 /annotations/generate_annotated_java_files.py | |
| parent | 98d0bacbcad0c5cc66495bed32f9caa7fb236d1f (diff) | |
Ensure sslSelect is non-blocking
sslSelect had a comment explaining why its blocking read from a pipe
would never block. However, there is repeatable evidence to the
contrary. Attaching gdb to a process with SSLSocket blocked in both
read and write showed that the writer was waiting in sslSelect trying
to acquire the AppData::mutex while the reader was holding the mutex
and blocked in read(2).
This change makes the file descriptor of the pipe non-blocking.
Callers of sslSelect select already repeat their attempt to handshake,
read, or write as necessary when waking up from select, so now if the
code is woken up by the pipe, it continues regardless of the read
status.
Bug: 3332268
Change-Id: I5fb9024357719dde4712c98f3ee4910acc1e914e
Diffstat (limited to 'annotations/generate_annotated_java_files.py')
0 files changed, 0 insertions, 0 deletions
