2014-11-03 5 views

답변

1

약식 : 허용하지 않으려는 경우 드라이버에서 처리해야합니다.

길게 : POSIX error codes of open()에서 같은 프로세스에서 동일한 파일에 대해 여러 핸들을 사용할 수 없다는 표시가 없습니다. Wikipedia states이 미세한 것을 :

같은 파일은 파일 구성 및 파일 시스템에 따라 여러 가지 방법에 의해 동시에 개방, 심지어 동일한 프로세스 (동일한 파일에 대한 여러 파일 디스크립터 발생) 될 수있다.

it's documentation의 FUSE도 비난하지 않습니다. 그것은 종종 단지 의미를 전달합니다.

파이썬에서 동일한 파일을 두 번 열어 두 개의 다른 파일 설명자를 얻었습니다.

In [1]: fd1 = open("./resting.org") 

In [2]: fd2 = open("./resting.org") 

In [3]: fd1.fileno() 
Out[3]: 5 

In [4]: fd2.fileno() 
Out[4]: 6 

그래서, 당신은 지정 이후, POSIX의 준수를 유지 수도, 스스로를 방지해야하지만, 일부 무지한 프로그래머가 만든 가정을 위반할 수 있습니다.

+0

우수 기여. 작업 해 주셔서 감사합니다. –