2

重複していると言う前に、私はすでにこれを読んでいます: How to pass variable number of arguments from one function to another?

私はこのような機能を持っています:

void tlog_function(t_log* logger, const char* message_template, ...) {
    pthread_mutex_lock(&loggerLock);
    log_function(logger, message_template, ...); // What I want to do..
    pthread_mutex_unlock(&loggerLock);
}

そして、私のものではないこのような別の関数は、サードパーティのライブラリから使用します。

void log_function(t_log* logger, const char* message_template, ...);

ご覧のとおり、私がやりたいことは、この関数にミューテックスを追加してスレッドセーフにすることです。使用できることはわかっていますva_listが、この場合、ライブラリ内にあるため、2 番目の関数のコードを変更することはできません。私は.hファイルしか持っていません。

それで、これを達成する方法はありますか?

4

2 に答える 2