dev 파일에 echo를 통해 문자열을 입력한 경우, write 함수가 무한 call 되는 문제를 어떻게 고칠수 있을까요?

astzlra955의 이미지

안녕하세요

제가 driver를 하나 만들어서 dev file을 생성했습니다. ( /dev/file )

그리고 이 driver의 file_operations .write 함수는 입력받은 입력받은 문자열을 화면에 출력하는 기능을 하도록 구현했습니다.

그런데 echo "AAA" > /dev/file 이와같은 명령어로 AAA 문자열을 입력하면,
AAA 문자열이 무한 반복해서 화면에 출력됩니다. ( .write 함수가 무한히 call 됩니다. )

.write 함수가 1회만 call 되도록 하는 방법이 없을까요?

bushi의 이미지

file_operations .write 함수의 return 값은 입력된(읽어낸) char 의 갯수여야만 합니다.

astzlra955의 이미지

답변 감사드립니다.
덕분에 해결되었습니다!