rust/chg/build.rs
author Matt Harbison <matt_harbison@yahoo.com>
Tue, 01 Oct 2024 15:00:39 -0400
changeset 51930 bc9ed92d4753
parent 44688 1f5ab1a9363d
permissions -rw-r--r--
util: make `mmapread()` work on Windows again 522b4d729e89 started referencing `mmap.MAP_PRIVATE`, but that's not available on Windows, so `hg version` worked, but `make local` did not. That commit also started calling the constructor with the fine-grained `flags` and `prot` args, but those aren't available on Windows either[1] (though the backing C code doesn't seem conditionalized to disallow usage of them). I assume the change away from from the `access` arg was to provide the same options, plus `MAP_POPULATE`. Looking at the source code[2], they're not quite the same- `ACCESS_READ` is equivalent to `flags = MAP_SHARED` and `prot = PROT_READ`. `MAP_PRIVATE` is only used with `ACCESS_COPY`, which allows read and write. Therefore, we can't quite get the same baseline flags on Windows, but this was the status quo ante and `MAP_POPULATE` is a Linux thing, so presumably it works. I realize that typically the OS differences are abstracted into the platform modules, but I'm leaving it here so that it is obvious what the differences are between the platforms. [1] https://docs.python.org/3/library/mmap.html#mmap.mmap [2] https://github.com/python/cpython/blob/5e0abb47886bc665eefdcc19fde985f803e49d4c/Modules/mmapmodule.c#L1539
Ignore whitespace changes - Everywhere: Within whitespace: At end of lines:
39969
208cb7a9d0fa rust-chg: add function to send fds via domain socket
Yuya Nishihara <yuya@tcha.org>
parents:
diff changeset
     1
fn main() {
208cb7a9d0fa rust-chg: add function to send fds via domain socket
Yuya Nishihara <yuya@tcha.org>
parents:
diff changeset
     2
    cc::Build::new()
208cb7a9d0fa rust-chg: add function to send fds via domain socket
Yuya Nishihara <yuya@tcha.org>
parents:
diff changeset
     3
        .warnings(true)
208cb7a9d0fa rust-chg: add function to send fds via domain socket
Yuya Nishihara <yuya@tcha.org>
parents:
diff changeset
     4
        .file("src/sendfds.c")
40118
cd490ac908c0 rust-chg: extract signal handlers from chg/procutil.c
Yuya Nishihara <yuya@tcha.org>
parents: 39969
diff changeset
     5
        .file("src/sighandlers.c")
39969
208cb7a9d0fa rust-chg: add function to send fds via domain socket
Yuya Nishihara <yuya@tcha.org>
parents:
diff changeset
     6
        .compile("procutil");
208cb7a9d0fa rust-chg: add function to send fds via domain socket
Yuya Nishihara <yuya@tcha.org>
parents:
diff changeset
     7
}