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.