| 1800 | }; |
| 1801 | |
| 1802 | static prof_gctx_t * |
| 1803 | prof_gctx_dump_iter(prof_gctx_tree_t *gctxs, prof_gctx_t *gctx, void *opaque) { |
| 1804 | prof_gctx_t *ret; |
| 1805 | struct prof_gctx_dump_iter_arg_s *arg = |
| 1806 | (struct prof_gctx_dump_iter_arg_s *)opaque; |
| 1807 | |
| 1808 | malloc_mutex_lock(arg->tsdn, gctx->lock); |
| 1809 | |
| 1810 | if (prof_dump_gctx(arg->tsdn, arg->propagate_err, gctx, &gctx->bt, |
| 1811 | gctxs)) { |
| 1812 | ret = gctx; |
| 1813 | goto label_return; |
| 1814 | } |
| 1815 | |
| 1816 | ret = NULL; |
| 1817 | label_return: |
| 1818 | malloc_mutex_unlock(arg->tsdn, gctx->lock); |
| 1819 | return ret; |
| 1820 | } |
| 1821 | |
| 1822 | static void |
| 1823 | prof_dump_prep(tsd_t *tsd, prof_tdata_t *tdata, |
nothing calls this directly
no test coverage detected