lix/src
jade 1437d3df15 darwin: workaround PROC_PIDLISTFDS on processes with no fds
This has been causing various seemingly spurious CI failures as well as
some failures on people running tests on beta builds.

lix> ++(nix-collect-garbage-dry-run.sh:20) nix-store --gc --print-dead
lix> ++(nix-collect-garbage-dry-run.sh:20) wc -l
lix> finding garbage collector roots...
lix> error: Listing pid 87261 file descriptors: Undefined error: 0

There is no real way to write a proper test for this, other than to
start a process like the following:

int main(void) {
    for (int i = 0; i < 1000; ++i) {
        close(i);
    }
    sleep(10000);
}

and then let Lix's gc look at it.

I have a relatively high confidence this *will* fix the problem since I
have manually confirmed the behaviour of the libproc call is
as-unexpected, and it would perfectly explain the observed symptom.

Fixes: lix-project/lix#446
Change-Id: I67669b98377af17895644b3bafdf42fc33abd076
2024-08-07 02:52:00 -07:00
..
asan-options tree-wide: add support for asan! 2024-07-31 14:13:39 -07:00
build-remote tree-wide: NULL -> nullptr 2024-07-23 21:06:55 +02:00
libcmd remove unused headers in installable-attr-path 2024-08-01 00:37:13 +00:00
libexpr tree-wide: fix various lint warnings 2024-08-04 20:55:45 -07:00
libfetchers Reapply "libfetchers: make attribute / URL query handling consistent" 2024-08-01 15:41:30 -07:00
libmain libutil: make basic loggers thread-safe 2024-07-20 12:33:49 +00:00
libstore darwin: workaround PROC_PIDLISTFDS on processes with no fds 2024-08-07 02:52:00 -07:00
libutil tree-wide: fix various lint warnings 2024-08-04 20:55:45 -07:00
nix nix flake metadata: print modified dates for input flakes 2024-08-04 20:41:19 -07:00
nix-build tree-wide: unify progress bar inactive and paused states 2024-07-01 18:19:34 +02:00
nix-channel util.{hh,cc}: Split out users.{hh,cc} 2024-05-29 11:01:34 +02:00
nix-collect-garbage Fix dry-run flag for nix-collect-garbage 2024-07-09 13:55:05 +00:00
nix-copy-closure Merge pull request #9277 from keszybz/file-permissions 2024-03-04 05:26:17 +01:00
nix-env Use std::strong_ordering for version comparison 2024-07-12 16:48:28 +02:00
nix-instantiate libexpr: pass Exprs as references, not pointers 2024-06-17 19:46:44 +00:00
nix-store libstore: remove WriteConn::sink fields 2024-07-16 00:57:42 +00:00
pch build-time: remove 20% more by PCH'ing C++ stdlib 2024-05-30 21:54:21 +00:00
resolve-system-dependencies tree-wide: NULL -> nullptr 2024-07-23 21:06:55 +02:00
lix-base.pc.in packaging: rename nixexpr -> lixexpr and so on 2024-05-23 16:45:23 -06:00
meson.build tree-wide: add support for asan! 2024-07-31 14:13:39 -07:00