@ -54,6 +54,9 @@ subroutine mld_c_base_onelev_free(lv,info)
if (allocated(lv%sm)) &
& call lv%sm%free(info)
if (allocated(lv%wrk)) &
& call lv%wrk%free(info)
call lv%ac%free()
if (lv%desc_ac%is_ok()) &
& call lv%desc_ac%free(info)
@ -54,6 +54,9 @@ subroutine mld_d_base_onelev_free(lv,info)
@ -54,6 +54,9 @@ subroutine mld_s_base_onelev_free(lv,info)
@ -54,6 +54,9 @@ subroutine mld_z_base_onelev_free(lv,info)
@ -579,7 +579,6 @@ contains
end if
me=-1
call prec%free_wrk(info)
if (allocated(prec%precv)) then
do i=1,size(prec%precv)
call prec%precv(i)%free(info)
@ -910,10 +909,12 @@ contains
info = psb_err_internal_error_; goto 9999
nlev = size(prec%precv)
do level = 1, nlev
call prec%precv(level)%free_wrk(info)
end do
call psb_erractionrestore(err_act)
return