summary refs log tree commit diff
path: root/src/libstd
diff options
context:
space:
mode:
authorbors <bors@rust-lang.org>2013-09-04 10:00:56 -0700
committerbors <bors@rust-lang.org>2013-09-04 10:00:56 -0700
commitd1f90556f20fb5508c4e859da7abf667a00967b4 (patch)
tree190423f277e26a08501d3e934e6d3d34087fe55c /src/libstd
parent91922f04f851340aaf0d22af2322ef86c3eebf42 (diff)
parent50d4714d859e6bc0bfecf8bdccb5c43fc917b9a2 (diff)
downloadrust-d1f90556f20fb5508c4e859da7abf667a00967b4.tar.gz
rust-d1f90556f20fb5508c4e859da7abf667a00967b4.zip
auto merge of #8901 : adridu59/rust/issue-8511, r=huonw
Android has no /tmp partition, cf. #8511.
Diffstat (limited to 'src/libstd')
-rw-r--r--src/libstd/os.rs8
1 files changed, 7 insertions, 1 deletions
diff --git a/src/libstd/os.rs b/src/libstd/os.rs
index 91408162788..0d77748b203 100644
--- a/src/libstd/os.rs
+++ b/src/libstd/os.rs
@@ -584,6 +584,8 @@ pub fn homedir() -> Option<Path> {
  *
  * On Unix, returns the value of the 'TMPDIR' environment variable if it is
  * set and non-empty and '/tmp' otherwise.
+ * On Android, there is no global temporary folder (it is usually allocated
+ * per-app), hence returns '/data/tmp' which is commonly used.
  *
  * On Windows, returns the value of, in order, the 'TMP', 'TEMP',
  * 'USERPROFILE' environment variable  if any are set and not the empty
@@ -606,7 +608,11 @@ pub fn tmpdir() -> Path {
 
     #[cfg(unix)]
     fn lookup() -> Path {
-        getenv_nonempty("TMPDIR").unwrap_or_default(Path("/tmp"))
+        if cfg!(target_os = "android") {
+            Path("/data/tmp")
+        } else {
+            getenv_nonempty("TMPDIR").unwrap_or_default(Path("/tmp"))
+        }
     }
 
     #[cfg(windows)]