Orphaning
Definizione rapida
Perdita di accesso lato server a un blocco di memoria che rimane ancora presente presso il client.
Spiegazione
In un'applicazione distribuita, il server può sostituire con un valore nullo il puntatore ricevuto. Il blocco precedentemente indicato continua allora a esistere sul client, mentre non è più raggiungibile dal server: la memoria diventa *orphaned* e si produce un *memory leak*. Se il fenomeno si ripete, il client consuma risorse fino a poter disporre di meno memoria allocabile.
Esempio pratico
Dopo una chiamata, il server restituisce un puntatore nullo ma il vecchio blocco resta allocato sul client; ripetendo l'evento, la memoria inutilizzabile si accumula.
Spiegazione tecnica
L'orfanizzazione nasce dalla divergenza tra i due lati: il client conserva il blocco, mentre il server ha perso il riferimento necessario per accedervi.
Da non confondere con
Non coincide con la semplice restituzione di un valore nullo: il problema è il blocco ancora esistente sul client ma ormai inaccessibile dal server.