On 08/06/2015 06:11 PM, Matt Turner wrote:
---
  src/mesa/main/hash.c | 19 +++++++++++++++----
  src/mesa/main/hash.h |  2 ++
  2 files changed, 17 insertions(+), 4 deletions(-)

diff --git a/src/mesa/main/hash.c b/src/mesa/main/hash.c
index 315b5d6..aa1c6a1 100644
--- a/src/mesa/main/hash.c
+++ b/src/mesa/main/hash.c
@@ -328,8 +328,8 @@ _mesa_HashInsert(struct _mesa_HashTable *table, GLuint key, 
void *data)
   * While holding the hash table's lock, searches the entry with the matching
   * key and unlinks it.
   */
-void
-_mesa_HashRemove(struct _mesa_HashTable *table, GLuint key)
+static inline void
+_mesa_HashRemove_unlocked(struct _mesa_HashTable *table, GLuint key)

You can drop the _mesa_ prefix on static functions.


  {
     struct hash_entry *entry;

@@ -343,17 +343,28 @@ _mesa_HashRemove(struct _mesa_HashTable *table, GLuint 
key)
        return;
     }

-   mtx_lock(&table->Mutex);
     if (key == DELETED_KEY_VALUE) {
        table->deleted_key_data = NULL;
     } else {
        entry = _mesa_hash_table_search(table->ht, uint_key(key));
        _mesa_hash_table_remove(table->ht, entry);
     }
-   mtx_unlock(&table->Mutex);
  }


+void
+_mesa_HashRemoveLocked(struct _mesa_HashTable *table, GLuint key)
+{
+   _mesa_HashRemove_unlocked(table, key);
+}
+
+void
+_mesa_HashRemove(struct _mesa_HashTable *table, GLuint key)
+{
+   mtx_lock(&table->Mutex);
+   _mesa_HashRemove_unlocked(table, key);
+   mtx_unlock(&table->Mutex);
+}

  /**
   * Delete all entries in a hash table, but don't delete the table itself.
diff --git a/src/mesa/main/hash.h b/src/mesa/main/hash.h
index da3b997..52a6c5d 100644
--- a/src/mesa/main/hash.h
+++ b/src/mesa/main/hash.h
@@ -54,6 +54,8 @@ extern void *_mesa_HashLookupLocked(struct _mesa_HashTable 
*table, GLuint key);
  extern void _mesa_HashInsertLocked(struct _mesa_HashTable *table,
                                     GLuint key, void *data);

+extern void _mesa_HashRemoveLocked(struct _mesa_HashTable *table, GLuint key);
+
  extern void
  _mesa_HashDeleteAll(struct _mesa_HashTable *table,
                      void (*callback)(GLuint key, void *data, void *userData),


_______________________________________________
mesa-dev mailing list
mesa-dev@lists.freedesktop.org
http://lists.freedesktop.org/mailman/listinfo/mesa-dev

Reply via email to