Skip to content

Commit

Permalink
Ignore file locks on OSX NFS mounts
Browse files Browse the repository at this point in the history
We already ignore NFS on Linux so let's do the same on OSX as well.
  • Loading branch information
alexcrichton committed Jun 12, 2016
1 parent b742d5c commit c8abb20
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 c8abb20

Please sign in to comment.