Em Sun, Jun 14, 2015 at 10:19:22AM +0200, Jiri Olsa escreveu: > Adding refference counting for thread_map object, so > it could be easily shared among other objects. > > Using thread_map__put instead thread_map__delete and making > thread_map__delete static. <SNIP>
> +struct thread_map *thread_map__get(struct thread_map *map) > +{ > + atomic_inc(&map->refcnt); > + return map; > +} > + > +void thread_map__put(struct thread_map *map) > +{ > + if (map && atomic_dec_and_test(&map->refcnt)) > + thread_map__delete(map); > } See comment on the other struct being refcounted, get/put should both accept NULL maps, to avoid having to check it in the users, just like with free(). - Arnaldo -- To unsubscribe from this list: send the line "unsubscribe linux-kernel" in the body of a message to majord...@vger.kernel.org More majordomo info at http://vger.kernel.org/majordomo-info.html Please read the FAQ at http://www.tux.org/lkml/