--
2182f6d50e2bcb77858aaab6001ebffdc13bee89 by Derek Mauro <dmauro@google.com>:
Use base_internal::AtomicHook instead of std::atomic for
StatusPayloadPrinter
Imports #661
PiperOrigin-RevId: 306514102
--
6f8047057f4530c17c06ab1737a1937c86402807 by Mark Barolak <mbar@google.com>:
Fix ABSL_RANDOM_RANDEN_COPTS setting on FreeBSD
Import of https://github.com/abseil/abseil-cpp/pull/664
PiperOrigin-RevId: 306485774
--
cb3b73b9607d0009bbcfd7766f4f1fa4fde9c8b9 by Abseil Team <absl-team@google.com>:
Avoid a -Wimplicit-int-float-conversion warning.
Without this explicit cast, this code produces a warning of "implicit conversion from 'const int64_t' (aka 'const long') to 'double' may lose precision" when this warning is turned on.
PiperOrigin-RevId: 306358838
--
ef895ea6b28c96b64531c218705bac9c3fa169d5 by Greg Falcon <gfalcon@google.com>:
Internal change
PiperOrigin-RevId: 306040909
GitOrigin-RevId: 2182f6d50e2bcb77858aaab6001ebffdc13bee89
Change-Id: I69555c1722745a74c1603c62a621ca765d253fe5
* Use base_internal::AtomicHook instead of std::atomic
std::atomic has a broken implementation on the Windows platform and it
is not conform to the ABSL_CONST_INIT macro when clang-cl is used as a
compiler: the macro is expanded to the [[clang::require_constant_initialization]]
attribute and the attribute cannot be applied to the broken std::atomic.
Therefore, std::atomic has been replaced with absl::base_internal::AtomicHook
to fix the compilation error (thank Derek Mauro for the suggestion).
Issue: #659
Signed-off-by: Pavel Samolysov <samolisov@gmail.com>
* Update build files for pull request
Co-authored-by: Derek Mauro <dmauro@google.com>
--
1eb20c4802ccaa316ecebc237877210b77ac84f7 by Abseil Team <absl-team@google.com>:
Use constraint_values to detect windows.
This resolves ambiguous copts when cross compiling with LLVM on Windows.
PiperOrigin-RevId: 305935379
--
47c96948132a577b14642ad4c910052768c41d62 by Abseil Team <absl-team@google.com>:
Add StrSplit conversion tests for the swisstable containers.
PiperOrigin-RevId: 305747160
--
0daea0f78b50d49520bd6e67d093cd87d057bb86 by Abseil Team <absl-team@google.com>:
Typo fix: Removes duplicate word.
PiperOrigin-RevId: 305502962
GitOrigin-RevId: 1eb20c4802ccaa316ecebc237877210b77ac84f7
Change-Id: I1bfa0beda0260027a22bc671344cc8b74315b77a
The install-multi-user script uses blue, green, and red colors, as
well as bold and underline, to add helpful formatting that helps
structure its rather voluminous output.
Unfortunately, the terminal escape sequences it uses are not quite
well-formed. The relevant information is all there, just obscured
by some extra noise, a leading parameter `38`. Empirically, the
result is:
* On macOS, in both Terminal.app and iTerm2, the spurious `38` is
ignored, the rest of the escape sequence is applied, and the colors
show up as intended.
* On Linux, in at least gnome-terminal and xterm, the spurious `38`
and the next parameter after it are ignored, and what's left is
applied. So in the sequence `38;4;32`, the 4 (underline) is
ignored but the 32 (green) takes effect; in a more typical sequence
like `38;34`, the 34 (blue) is ignored and nothing happens.
These codes are all unchanged since this script's origins as a
Darwin-only script -- so the fact that they work fine in common macOS
terminals goes some way to explain how the bug arose.
Happily, we can make the colors work as intended by just deleting the
extra `38;`. Tested in all four terminals mentioned above; the new
codes work correctly on all of them, and on the two macOS terminals
they work exactly the same as before.
---
In a bit more technical detail -- perhaps more than anyone, me
included, ever wanted to know, but now that I've gone and learned it
I'll write it down anyway :) -- here's what's happening in these codes:
An ECMA-48 "control sequence" begins with `\033[` aka "CSI", contains
any number of parameters as semicolon-separated decimal numbers (plus
sometimes other wrinkles), and ends with a byte from 0x40..0x7e. In
our case, with `m` aka "SGR", "Select Graphic Rendition".
An SGR control sequence `\033[...m` sets colors, fonts, text styles,
etc. In particular a parameter `31` means red, `32` green, `34` blue,
`4` underline, and `0` means reset to normal. Those are all we use.
There is also a `38`. This is used for setting colors too... but it
needs arguments. `38;5;nn` is color nn from a 256-color palette, and
`38;2;rr;gg;bb` has the given RGB values.
There is no meaning defined for `38;1` or `38;34` etc. On seeing a
parameter `38` followed by an unrecognized argument for it, apparently
some implementations (as seen on macOS) discard only the `38` and
others (as seen on Linux) discard the argument too before resuming.
(cherry picked from commit 7313aa267b5be1e5264e4577e7bc3daec2fef282)
The ssh client is lazily started by the first worker thread, that
requires a ssh connection. To avoid the ssh client to be killed, when
the worker process is stopped, do not set PR_SET_PDEATHSIG.
(cherry picked from commit 3e347220c82d1537723f49aa03a93a6f9d294417)
If the `throw` is reached, this means that execvp into `ssh` wasn’t
successful. We can hint at a usual problem, which is a missing `ssh`
executable.
Test with:
```
env PATH= ./result/bin/nix-copy-closure --builders '' unusedhost
```
and the bash version with
```
env PATH= ./result/bin/nix-copy-closure --builders '' localhost
```
(cherry picked from commit 38b29fb72ca4a07afbec1fd5067f59ca7d7f0fab)
Includes the expression of the condition in the assertion message if
the assertion failed, making assertions much easier to debug. eg.
error: assertion (withPython -> (python2Packages != null)) failed at pkgs/tools/security/nmap/default.nix:11:1
(cherry picked from commit 307bcb9a8e7a16bfc451e055a620b766df9d3f7d)
Signed-off-by: Domen Kožar <domen@dev.si>
When encountering an unsupported protocol, there's no need to retry.
Chances are, it won't suddenly be supported between retry attempts;
error instead. Otherwise, you see something like the following:
$ nix-env -i -f git://git@github.com/foo/bar
warning: unable to download 'git://git@github.com/foo/bar': Unsupported protocol (1); retrying in 335 ms
warning: unable to download 'git://git@github.com/foo/bar': Unsupported protocol (1); retrying in 604 ms
warning: unable to download 'git://git@github.com/foo/bar': Unsupported protocol (1); retrying in 1340 ms
warning: unable to download 'git://git@github.com/foo/bar': Unsupported protocol (1); retrying in 2685 ms
With this change, you now see:
$ nix-env -i -f git://git@github.com/foo/bar
error: unable to download 'git://git@github.com/foo/bar': Unsupported protocol (1)
(cherry picked from commit c976cb0b8ab5d0f2c4ab8c9826fc7db56e2f1b3e)
Signed-off-by: Domen Kožar <domen@dev.si>
--
c162645dba4de6f5f1c8b6e8a29a8da9f9e0aa52 by Derek Mauro <dmauro@google.com>:
Update linux_clang-latest container to one based on Ubuntu 18.04, which has libstdc++-8.
PiperOrigin-RevId: 305287658
GitOrigin-RevId: c162645dba4de6f5f1c8b6e8a29a8da9f9e0aa52
Change-Id: I3f31daf0d8c445008c78f0e10ae6af753cea756b
--
87cdfd6aa40941e116cd79ef70f9a7a8271db163 by Abseil Team <absl-team@google.com>:
Fix a typo in random.h API documentation.
PiperOrigin-RevId: 305176308
--
8a38e1df49a18a954daca3ce617fd69045ff4c19 by Derek Mauro <dmauro@google.com>:
Import GitHub #647: Allow external add_subdirectory for using GoogleTest
PiperOrigin-RevId: 305156797
--
b1a2441536d4964fbe4e2329e74c322e6c41a4e6 by Gennadiy Rozental <rogeeff@google.com>:
temporary roll back.
PiperOrigin-RevId: 305149619
--
c78767577264348d2f881893f9407aadfe73ab75 by CJ Johnson <johnsoncj@google.com>:
Rollback update to linux_clang-latest container while investigating
a compiler bug.
PiperOrigin-RevId: 304897689
--
3c6fd38f53d2e982569fdba4043f75271c7b5de4 by Derek Mauro <dmauro@google.com>:
Update linux_clang-latest container to one based on Ubuntu 18.04,
which has libstdc++-8.
PiperOrigin-RevId: 304885120
GitOrigin-RevId: 87cdfd6aa40941e116cd79ef70f9a7a8271db163
Change-Id: Iefa6efee93907ec0eecb8add804c5cc2f052b64d
--
7a9e8d95f795be037aa2dce4e44809ad0166aaec by Samuel Benzaquen <sbenza@google.com>:
Make end() iterator be nullptr.
This makes the creation of and comparison with end() smaller and faster. `find()!=end()` becomes leaner.
PiperOrigin-RevId: 304681605
--
8f3024979446b391b79b1b60ada7d00a504d6aa6 by Derek Mauro <dmauro@google.com>:
Fix Bazel's distdir detection and prefer double brackets (bash recommendation)
PiperOrigin-RevId: 304615725
--
f1d709cb4b2b3743d548b814dd19602fb057a5e6 by Abseil Team <absl-team@google.com>:
Internal change
PiperOrigin-RevId: 304570545
--
2bbfa5bda52057e1938a96c286ad33ff64e535e0 by Gennadiy Rozental <rogeeff@google.com>:
Implement general storage case as aligned buffer.
Aside from eliminating dynamic memory allocation for flag storage, we also saving 11 bytes per int flag, 15 bytes per double and string flag.
PiperOrigin-RevId: 304511965
--
9e1aed2a95d7d060f8b906fe8c67fc3ba537b521 by Derek Mauro <dmauro@google.com>:
Use reserve to make a bad_alloc less likely in endian_test
This happened once and shouldn't have happened, so it was probably
just a flake, but might as well make this change.
PiperOrigin-RevId: 304505572
--
c2faf22ba2d4d66753390e6959494214895581f0 by Gennadiy Rozental <rogeeff@google.com>:
Use anonymous bit fields to enforce separation between const and mutable bit fields.
We also move init_control field (which is now safe) to save 8 bytes per flag (based on size_tester output)
PiperOrigin-RevId: 304505215
--
7ec51250a84bb03e826b3caad64431e91748186a by Krzysztof Kosiński <krzysio@google.com>:
Change the buffer size in AppendNumberUnit to constexpr.
PiperOrigin-RevId: 304492779
--
a6c8db1be4f421ea7b7c02f7a01b4f48bad61883 by Gennadiy Rozental <rogeeff@google.com>:
Add test cases for two word storage.
Some additional tests were added for other storage kinds as well. These came about after I started to look into a coverage output and noticed that some cases (like reading flag values via reflection) were not covered by this test at all. It does not make sense to just add tests for two word values, so I've covered other storage kinds as well.
PiperOrigin-RevId: 304432511
--
2644ecc32e1215cd6451efcb2f1054fd77e7c812 by Abseil Team <absl-team@google.com>:
Internal change
PiperOrigin-RevId: 304254681
--
4949a6b20c2bb4b9b2c811f439ccb893abc08df5 by Abseil Team <absl-team@google.com>:
Internal change
PiperOrigin-RevId: 304250274
GitOrigin-RevId: 7a9e8d95f795be037aa2dce4e44809ad0166aaec
Change-Id: I01623de87355bec5cf87cc5932a1ca44cade9aae
The queue size setting will drop frames if the encoding starts to lag
behind, which should prevent delay from being introduced on the
serving side.
Maybe.