From 0134ffc6edc14d0c9099488c1afcfcdffb462bf0 Mon Sep 17 00:00:00 2001 From: SooChan Lim Date: Mon, 8 Aug 2016 19:20:17 +0900 Subject: [PATCH] add capabilities to the bufmgr Change-Id: Id53df2a60fa32e4d10a64f80c4fd2ce5232a4081 --- src/tbm_bufmgr.c | 12 ++---------- src/tbm_bufmgr_backend.c | 7 +++++++ src/tbm_bufmgr_int.h | 2 ++ 3 files changed, 11 insertions(+), 10 deletions(-) diff --git a/src/tbm_bufmgr.c b/src/tbm_bufmgr.c index 02b3a05..fab4c38 100644 --- a/src/tbm_bufmgr.c +++ b/src/tbm_bufmgr.c @@ -1260,17 +1260,9 @@ tbm_bufmgr_get_capability(tbm_bufmgr bufmgr) { TBM_RETURN_VAL_IF_FAIL(TBM_BUFMGR_IS_VALID(bufmgr), 0); - unsigned int capability = TBM_BUFMGR_CAPABILITY_NONE; + TBM_TRACE("tbm_bufmgr(%p) capability(%d)\n", bufmgr, bufmgr->capabilities); - if (bufmgr->backend->bo_import && bufmgr->backend->bo_export) - capability |= TBM_BUFMGR_CAPABILITY_SHARE_KEY; - - if (bufmgr->backend->bo_import_fd && bufmgr->backend->bo_export_fd) - capability |= TBM_BUFMGR_CAPABILITY_SHARE_FD; - - TBM_TRACE("tbm_bufmgr(%p) capability(%d)\n", bufmgr, capability); - - return capability; + return bufmgr->capabilities; } int diff --git a/src/tbm_bufmgr_backend.c b/src/tbm_bufmgr_backend.c index 0f81cb0..f3a8218 100644 --- a/src/tbm_bufmgr_backend.c +++ b/src/tbm_bufmgr_backend.c @@ -71,6 +71,13 @@ int tbm_backend_init(tbm_bufmgr bufmgr, tbm_bufmgr_backend backend) } bufmgr->backend = backend; + bufmgr->capabilities = TBM_BUFMGR_CAPABILITY_NONE; + + if (bufmgr->backend->bo_import && bufmgr->backend->bo_export) + bufmgr->capabilities |= TBM_BUFMGR_CAPABILITY_SHARE_KEY; + + if (bufmgr->backend->bo_import_fd && bufmgr->backend->bo_export_fd) + bufmgr->capabilities |= TBM_BUFMGR_CAPABILITY_SHARE_FD; return 1; } diff --git a/src/tbm_bufmgr_int.h b/src/tbm_bufmgr_int.h index 59d4358..75e756d 100644 --- a/src/tbm_bufmgr_int.h +++ b/src/tbm_bufmgr_int.h @@ -233,6 +233,8 @@ struct _tbm_bufmgr { int lock_type; /* lock_type of bufmgr */ + int capabilities; /* capabilities of bufmgr */ + unsigned int bo_cnt; /* number of bos */ struct list_head bo_list; /* list of bos belonging to bufmgr */ -- 2.7.4