gralloc: Allow unmapping concurrent handles

If we allow registering those buffers, we need to let them go, too

Change-Id: I6c2dc862e1e783e2b0d3c7d37d60ebe2290173fa
tirimbino
Ricardo Cerqueira 11 years ago
parent 946eb02095
commit a3a9aaa5bb
  1. 3
      exynos4/hal/libgralloc_ump/gralloc_module.cpp

@ -318,8 +318,6 @@ static int gralloc_unregister_buffer(gralloc_module_t const* module, buffer_hand
ALOGE_IF(hnd->lockState & private_handle_t::LOCK_STATE_READ_MASK, ALOGE_IF(hnd->lockState & private_handle_t::LOCK_STATE_READ_MASK,
"[unregister] handle %p still locked (state=%08x)", hnd, hnd->lockState); "[unregister] handle %p still locked (state=%08x)", hnd, hnd->lockState);
/* never unmap buffers that were created in this process */
if (hnd->pid != getpid()) {
pthread_mutex_lock(&s_map_lock); pthread_mutex_lock(&s_map_lock);
if (hnd->flags & private_handle_t::PRIV_FLAGS_USES_UMP) { if (hnd->flags & private_handle_t::PRIV_FLAGS_USES_UMP) {
ump_mapped_pointer_release((ump_handle)hnd->ump_mem_handle); ump_mapped_pointer_release((ump_handle)hnd->ump_mem_handle);
@ -353,7 +351,6 @@ static int gralloc_unregister_buffer(gralloc_module_t const* module, buffer_hand
} }
pthread_mutex_unlock(&s_map_lock); pthread_mutex_unlock(&s_map_lock);
}
return 0; return 0;
} }

Loading…
Cancel
Save