Compare commits

..

No commits in common. "c8f12abc7382f3302ec9fc5152f1a711c4515f6b" and "e128723dae62e3c73b29d74ca9f4548d8a5303be" have entirely different histories.

5 changed files with 3 additions and 44 deletions

View File

@ -488,39 +488,3 @@ Mocno zalecane jest unikanie wykonywania usług pod tą tożsamością użytkown
zwłaszcza na komputerach używających NFS lub mających kontenery. Należy zwłaszcza na komputerach używających NFS lub mających kontenery. Należy
przydzielić identyfikator użytkownika dla tej konkretnej usługi, statycznie przydzielić identyfikator użytkownika dla tej konkretnej usługi, statycznie
przez systemd-sysusers lub dynamicznie przez ustawienie usługi DynamicUser=. przez systemd-sysusers lub dynamicznie przez ustawienie usługi DynamicUser=.
-- 1c0454c1bd2241e0ac6fefb4bc631433
Subject: Usługa systemd-udev-settle.service jest przestarzała.
Defined-By: systemd
Support: %SUPPORT_URL%
Użycie jednostki usługi systemd „systemd-udev-settle.service” jest
przestarzałe. Wstawia ona sztuczne opóźnienie do procesu uruchamiania
bez dostarczania gwarancji, które były oczekiwane przez pozostałe
podsystemy. Korzystanie z tej usługi może prowadzić do hazardów,
i zasadniczo jest błędem.
W przeszłości zadaniem tej usługi było oczekiwanie, aż wszystkie urządzenia
komputera zostaną w pełni wykryte i zainicjowane, opóźniając uruchamianie
do ukończenia tego etapu. Jednakże, współczesne komputery i urządzenia
na ogół nie działają już w ten sposób, tylko mogą pojawić się w dowolnej
chwili i zająć dowolny czas na wykrycie i inicjację. Z tego powodu,
w ogólnym przypadku, nie jest już możliwe poprawne opóźnienie uruchamiania
do przetworzenia „wszystkich urządzeń”, ponieważ nie jest jasne, co znaczy
„wszystkie urządzenia” i kiedy zostały odnalezione. Dotyczy to zwłaszcza
urządzeń podłączonych przez USB lub sieć.
Nowoczesne oprogramowanie wymagające określonego sprzętu (takiego jak
urządzenie sieciowe lub urządzenie blokowe) do działania powinno oczekiwać
tylko na pojawienie się danego urządzenia, a w przeciwnym razie działać
asynchronicznie, inicjując urządzenia, kiedy te pojawiają się w trakcie
uruchamiania i w trakcie działania systemu bez opóźniania procesu uruchamiania.
Jest to wada danego oprogramowania, jeśli nie działa ono w ten sposób
i nadal wciąga usługę systemd-udev-settle.service do procesu uruchamiania.
Prosimy zgłosić błąd w następujących jednostkach z prośbą
o ich aktualizację tak, aby działały w sposób dynamiczny
bez zależności od usługi systemd-udev-settle.service:
@OFFENDING_UNITS@

View File

@ -101,7 +101,7 @@ static void test_config_parse_duid_rawdata(void) {
test_config_parse_duid_rawdata_one("11::", 0, &(DUID){0, 1, {0x11}}); /* FIXME: should this be an error? */ test_config_parse_duid_rawdata_one("11::", 0, &(DUID){0, 1, {0x11}}); /* FIXME: should this be an error? */
test_config_parse_duid_rawdata_one("abcdef", 0, &(DUID){}); test_config_parse_duid_rawdata_one("abcdef", 0, &(DUID){});
test_config_parse_duid_rawdata_one(BYTES_0_128, 0, &(DUID){}); test_config_parse_duid_rawdata_one(BYTES_0_128, 0, &(DUID){});
test_config_parse_duid_rawdata_one(&BYTES_0_128[2], 0, &(DUID){0, 128, BYTES_1_128}); test_config_parse_duid_rawdata_one(BYTES_0_128 + 2, 0, &(DUID){0, 128, BYTES_1_128});
} }
static void test_config_parse_hwaddr(void) { static void test_config_parse_hwaddr(void) {

View File

@ -1969,10 +1969,8 @@ static int call_dns(sd_bus *bus, char **dns, const BusLocator *locator, sd_bus_e
return bus_log_create_error(r); return bus_log_create_error(r);
r = sd_bus_call(bus, req, 0, error, NULL); r = sd_bus_call(bus, req, 0, error, NULL);
if (r < 0 && extended && sd_bus_error_has_name(error, SD_BUS_ERROR_UNKNOWN_METHOD)) { if (r < 0 && extended && sd_bus_error_has_name(error, SD_BUS_ERROR_UNKNOWN_METHOD))
sd_bus_error_free(error);
return call_dns(bus, dns, locator, error, false); return call_dns(bus, dns, locator, error, false);
}
return r; return r;
} }

View File

@ -136,9 +136,6 @@ static void test_cleanup_order(void) {
static void test_auto_erase_memory(void) { static void test_auto_erase_memory(void) {
_cleanup_(erase_and_freep) uint8_t *p1, *p2; _cleanup_(erase_and_freep) uint8_t *p1, *p2;
/* print address of p2, else e.g. clang-11 will optimize it out */
log_debug("p1: %p p2: %p", &p1, &p2);
assert_se(p1 = new(uint8_t, 1024)); assert_se(p1 = new(uint8_t, 1024));
assert_se(p2 = new(uint8_t, 1024)); assert_se(p2 = new(uint8_t, 1024));

View File

@ -49,7 +49,7 @@ static void test_clock_is_localtime(void) {
log_info("scenario #%zu:, expected result %i", i, scenarios[i].expected_result); log_info("scenario #%zu:, expected result %i", i, scenarios[i].expected_result);
log_info("%s", scenarios[i].contents); log_info("%s", scenarios[i].contents);
rewind(f); rewind(f);
assert_se(ftruncate(fileno(f), 0) == 0); ftruncate(fileno(f), 0);
assert_se(write_string_stream(f, scenarios[i].contents, WRITE_STRING_FILE_AVOID_NEWLINE) == 0); assert_se(write_string_stream(f, scenarios[i].contents, WRITE_STRING_FILE_AVOID_NEWLINE) == 0);
assert_se(clock_is_localtime(adjtime) == scenarios[i].expected_result); assert_se(clock_is_localtime(adjtime) == scenarios[i].expected_result);
} }