私は今プロジェクトを読んでいて、以下のようにいくつかのコードを理解するのが難しいと感じています:
struct mcachefs_metadata_t* mdata_root;
...
mcachefs_metadata_release(mdata_root);
また、 の定義は次のmcachefs_metadata_release
とおりです。
void
mcachefs_metadata_release(struct mcachefs_metadata_t* mdata)
{
(void) mdata;
mcachefs_metadata_unlock ();
}
の定義は次のmcachefs_metadata_unlock
とおりです。
#define mcachefs_metadata_unlock() mcachefs_mutex_unlock ( &mcachefs_metadata_mutex, "metadata", __CONTEXT );
次に、mcachefs_mutex_unlock
関数:
void
mcachefs_mutex_unlock(struct mcachefs_mutex_t* mutex, const char* name,
const char* context)
{
int res;
...
mutex->owner = 0;
mutex->context = NULL;
res = pthread_mutex_unlock(&(mutex->mutex));
if (res == 0)
{
return;
}
...
}
関数の(void) mdata;
意味が
わかりませんでし た。mcachefs_metadata_release
それの使用法は何ですか?