Leksykon IT › Infrastruktura › XC-MISC

XC-MISC

Infrastruktura Svenska → Zaktualizowano: 2026-10-09
Więcej informacji
Twórca
X Consortium
Rok
1994
Typ
Rozszerzenie X

Małe rozszerzenie X11R6, dzięki któremu klient może zapytać serwer, które identyfikatory zasobów znów są wolne, by program działający tygodniami nigdy nie zabrakło numerów.

Klient X sam wymyśla identyfikatory dla swoich okien, map pikseli i kursorów, czerpiąc z zakresu przydzielonego przy połączeniu. Oszczędza to jedną wymianę z serwerem na każdy utworzony obiekt, ale ma wbudowany pułap: zakres mieści zwykle kilka milionów wartości, a Xlib liczył wyłącznie w górę. Gdy dotarł na szczyt, biblioteka wypisywała „resource ID allocation space exhausted” i kończyła program, choć niemal wszystkie dawne identyfikatory dawno zwolniono. Terminale i przeglądarki, które tworzyły i niszczyły tysiące map pikseli, mogły tam dojść w ciągu jednej długiej sesji.

XC-MISC, gdzie XC oznacza X Consortium, pojawiło się z X11R6 w 1994 roku obok równie niewdzięcznego BIG-REQUESTS. Ma trzy żądania: GetVersion, GetXIDRange, które zwraca ciągły wolny przedział, oraz GetXIDList, które zwraca listę do żądanej liczby wolnych identyfikatorów. Xlib wywołuje je automatycznie, gdy wyczerpie własny zakres, a XCB robi to samo wewnątrz xcb_generate_id, więc żaden programista nie widzi tego rozszerzenia inaczej niż jako wiersz w xdpyinfo. Uczciwy los dla rozszerzenia, którego jedynym zadaniem jest łatanie decyzji projektowej z 1987 roku.

← Wróć do leksykonu