To clarify my doubt, it seems to me that it just sits there in memory
without it being referenced anymore, is that right?

On Wed, Mar 25, 2015 at 6:38 PM, Leandro M Barbosa <[email protected]> wrote:
> Hello all!
>
> I was reading the __list_splice () function code and I had a doubt. The code 
> is:
>
> 274 static inline void __list_splice(const struct list_head *list,
> 275                                  struct list_head *prev,
> 276                                  struct list_head *next)
> 277 {
> 278         struct list_head *first = list->next;
> 279         struct list_head *last = list->prev;
> 280
> 281         first->prev = prev;
> 282         prev->next = first;
> 283
> 284         last->next = next;
> 285         next->prev = last;
> 286 }
>
> What happens with the *list head? As I understood, when you call
> list_splice (list_a, list_b, list_b->next), the code joins the two
> lists together such that the list_a is put before list_b. The code
> grabs list->next and list->prev but what about *list itself?
>
>
> --
> Leandro Moreira Barbosa



-- 
Leandro Moreira Barbosa

_______________________________________________
Kernelnewbies mailing list
[email protected]
http://lists.kernelnewbies.org/mailman/listinfo/kernelnewbies

Reply via email to