XC-MISC
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.