Compare commits
No commits in common. "c8f12abc7382f3302ec9fc5152f1a711c4515f6b" and "e128723dae62e3c73b29d74ca9f4548d8a5303be" have entirely different histories.
c8f12abc73
...
e128723dae
|
@ -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@
|
|
||||||
|
|
|
@ -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) {
|
||||||
|
|
|
@ -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;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
|
@ -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));
|
||||||
|
|
||||||
|
|
|
@ -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);
|
||||||
}
|
}
|
||||||
|
|
Loading…
Reference in New Issue