XC-MISC
Maggiori info
- Creatore
- X Consortium
- Anno
- 1994
- Tipo
- Estensione X
La piccola estensione di X11R6 che permette a un client di chiedere al server quali ID di risorsa siano tornati liberi, così che un programma in esecuzione per settimane non finisca mai i numeri.
Un client X inventa da sé gli ID per le proprie finestre, pixmap e cursori, attingendo a un intervallo assegnato alla connessione. Così si risparmia un round trip per ogni oggetto creato, ma si accetta un tetto intrinseco: l'intervallo contiene tipicamente un paio di milioni di valori e Xlib contava soltanto in avanti. Arrivata in cima, la libreria stampava «resource ID allocation space exhausted» e terminava il programma, anche se quasi tutti i vecchi ID erano stati rilasciati da tempo. Terminali e browser che creavano e distruggevano pixmap a migliaia potevano arrivarci nel corso di un'unica lunga sessione.
XC-MISC, dove XC sta per X Consortium, arrivò con X11R6 nel 1994 insieme alla altrettanto poco appariscente BIG-REQUESTS. Ha tre richieste: GetVersion, GetXIDRange, che restituisce un intervallo libero contiguo, e GetXIDList, che restituisce come elenco fino a un numero richiesto di ID liberi. Xlib le chiama automaticamente quando il proprio intervallo è esaurito, e XCB fa lo stesso dentro xcb_generate_id, così nessun programmatore vede mai l'estensione se non come una riga in xdpyinfo. Un destino adeguato per un'estensione il cui unico compito è rattoppare una scelta di progetto del 1987.