開發平台(Platform): (Ex: VC++, GCC, Linux, ...)
Android Linux
額外使用到的函數庫(Library Used): (Ex: OpenGL, ...)
None
問題(Question):
我自己實作一個function去開底層的file node(/dev/XXX)
並將這個function包成native library透過JNI給app使用
在執行app的時候 app本身的程式也會去使用同一file node(另一個library)
app也會呼叫我包好的native library 意思就是說file node會被開啟兩次
第一次是app其他process去呼叫的
另一次則是load native library去呼叫的
我有試著在open file node前加mutex做保護 但是不知道這樣是不是正確的
pthread_mutex_lock(&mutex);
ret = open(/dev/XXX, O_RDWR);
...
close(/dev/XXX);
pthread_mutex_unlock(&mutex);
我發現這樣好像擋不了file node被重複開的現象
不知道我是否要在加其他的東西才能擋到呢?