diff options
| author | Jeff Hamilton <jham@android.com> | 2010-10-21 21:08:20 -0700 |
|---|---|---|
| committer | Android Git Automerger <android-git-automerger@android.com> | 2010-10-21 21:08:20 -0700 |
| commit | de8635e4c4c9f674b52cb6041380c3ef2812630c (patch) | |
| tree | c6a9f6404edf36103ab1ad553a2e6746272d6460 /core/java | |
| parent | 6123e0f7c91ffc7534da99b4668879dacf662227 (diff) | |
| parent | 389a440ad13f7b16e8f7c7f1670bdd55f1e2112a (diff) | |
am 389a440a: Backport ParcelFileDescriptor.createPipe() from master.
Merge commit '389a440ad13f7b16e8f7c7f1670bdd55f1e2112a' into gingerbread-plus-aosp
* commit '389a440ad13f7b16e8f7c7f1670bdd55f1e2112a':
Backport ParcelFileDescriptor.createPipe() from master.
Diffstat (limited to 'core/java')
| -rw-r--r-- | core/java/android/os/ParcelFileDescriptor.java | 19 |
1 files changed, 19 insertions, 0 deletions
diff --git a/core/java/android/os/ParcelFileDescriptor.java b/core/java/android/os/ParcelFileDescriptor.java index 9d213b344dc8..d853f1375680 100644 --- a/core/java/android/os/ParcelFileDescriptor.java +++ b/core/java/android/os/ParcelFileDescriptor.java @@ -134,6 +134,25 @@ public class ParcelFileDescriptor implements Parcelable { private static native FileDescriptor getFileDescriptorFromSocket(Socket socket); /** + * Create two ParcelFileDescriptors structured as a data pipe. The first + * ParcelFileDescriptor in the returned array is the read side; the second + * is the write side. + */ + public static ParcelFileDescriptor[] createPipe() throws IOException { + FileDescriptor[] fds = new FileDescriptor[2]; + int res = createPipeNative(fds); + if (res == 0) { + ParcelFileDescriptor[] pfds = new ParcelFileDescriptor[2]; + pfds[0] = new ParcelFileDescriptor(fds[0]); + pfds[1] = new ParcelFileDescriptor(fds[1]); + return pfds; + } + throw new IOException("Unable to create pipe: errno=" + -res); + } + + private static native int createPipeNative(FileDescriptor[] outFds); + + /** * Retrieve the actual FileDescriptor associated with this object. * * @return Returns the FileDescriptor associated with this object. |
