| Commit message (Collapse) | Author | Age | Files | Lines |
|
|
|
| |
Merge xml except xmlpull and kxml into luni
|
|
|
|
|
| |
Bug: 754114
Change-Id: Iaa03def509c10cbaa12fd2128584b93d4be4a6b7
|
|
|
|
| |
...and switch all NPE throwers over to the helper.
|
|
|
|
|
|
|
| |
Also simplify and correct the security to ensure that the user can't modify
the command to be executed after the SecurityManager has approved it.
Bug: 2180063
|
|
|
|
|
| |
Bug 2180063 will require changes to ProcessManager, so now's a good time
to make the switch in this directory.
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
The Java side of OSFileSystem was throwing IOExceptions with no detail
message. If we throw from the native side instead, we can supply
meaningful explanations. This turned up a couple of bugs:
* read, readDirect, readv, writev, and ttyRead would only throw IOException
if they returned < -1, which is impossible. (writev was probably a copy & paste
from readv, and the reads were probably confused by the impedence mismatch
between Unix's use of 0 to mean end of file and -1 to mean error, and Java's
use of -1 for end of file.)
* inconsistent checking for null byte[]s passed in.
* read and write would retry on EINTR, but readDirect and writeDirect wouldn't.
* we'd silently truncate seek/lock/truncate offsets that didn't fit in 32 bits;
we now throw an IOException instead.
It also means a few native functions become "void" because errors are now
reported by throwing exceptions, and the Java functions that used to call them
are no longer needed.
Also change ProcessManager to use jniThrowIOException, remove the unused
throwIOExceptionStr from OSNetworkSystem.cpp, and remove the KnownFailure from
FileTest's test_delete, now we have a fixed version of yaffs that won't
rmdir(2) non-empty directories.
Bug: 1542253
|
|\
| |
| |
| |
| |
| |
| |
| |
| | |
after fork() because the heap lock may be held by a thread that is no longer running.
Merge commit '4ce12e65bb5fb7cb0eaa131e8b5c0b740e8e359e'
* commit '4ce12e65bb5fb7cb0eaa131e8b5c0b740e8e359e':
Fixes deadlock in Runtime.exec(). We can't malloc() or free() after fork() because the heap lock may be held by a thread that is no longer running.
|
| |
| |
| |
| | |
because the heap lock may be held by a thread that is no longer running.
|
|/
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
ProcessManager.
If the ProcessManager thread was waiting for a child process to finish,
it could inadvertently capture the exit status of dexopt. This
confused the VM somewhat. With this change the dexopt child runs in
its own process group, and the ProcessManager only waits for children
in the parent's process group.
I also now create a new process in the DexClassLoader test to check for
clashes. (It's a race, but it nearly always hits on the device, and
occasionally hits on desktop.)
BUG=1777736
Automated import of CL 145086
|
| |
|
| |
|
| |
|
| |
|
|
|