Skip to content

Commit

Permalink
Auto merge of rust-lang#2720 - alexcrichton:ignore-nfs-more-often, r=…
Browse files Browse the repository at this point in the history
…brson

Ignore file locks on OSX NFS mounts

We already ignore NFS on Linux so let's do the same on OSX as well.
  • Loading branch information
bors authored Jun 12, 2016
2 parents b742d5c + c8abb20 commit 941f488
Showing 1 changed file with 9 additions and 1 deletion.
10 changes: 9 additions & 1 deletion src/cargo/util/flock.rs
Original file line number Diff line number Diff line change
Expand Up @@ -5,6 +5,8 @@ use std::path::{Path, PathBuf, Display};

use term::color::CYAN;
use fs2::{FileExt, lock_contended_error};
#[allow(unused_imports)]
use libc;

use util::{CargoResult, ChainError, Config, human};

Expand Down Expand Up @@ -267,6 +269,13 @@ fn acquire(config: &Config,

match try() {
Ok(()) => return Ok(()),

// Like above, where we ignore file locking on NFS mounts on Linux, we
// do the same on OSX here. Note that ENOTSUP is an OSX_specific
// constant.
#[cfg(target_os = "macos")]
Err(ref e) if e.raw_os_error() == Some(libc::ENOTSUP) => return Ok(()),

Err(e) => {
if e.raw_os_error() != lock_contended_error().raw_os_error() {
return Err(human(e)).chain_error(|| {
Expand All @@ -287,7 +296,6 @@ fn acquire(config: &Config,
use std::ffi::CString;
use std::mem;
use std::os::unix::prelude::*;
use libc;

let path = match CString::new(path.as_os_str().as_bytes()) {
Ok(path) => path,
Expand Down

0 comments on commit 941f488

Please sign in to comment.