커널 버퍼 비우기?
글쓴이: vpurplev / 작성시간: 목, 2006/03/30 - 7:33오후
리눅스에 초보지만 어떻게 하다 보니 리눅스 환경에서 프로그래밍을 하고 있습니다.
한가지 의문 사항이 있는데
/dev/audio 같은 장치 파일을 open하면 커널에 버퍼가 생기는 것으로 알고 있습니다.
맞는지 아닌지 정확하지는 않지만..
위의 사실이 맞다고 가정할때
현재 시점에서 커널 버퍼를 비우는 함수가 있는지 궁금합니다.
sun os의 경우 ioctl에 I_FLUSH 를 이용하면 되는데...
리눅스에서는 gcc 로 컴파일 해 본결과 찾을 수 없다고 하고 실제 소스에도 없었습니다.
이와 비슷한 기능을 하는 함수라도 있으면 알려주시면 감사하겠습니다.
우분투 환경입니다.
... 리눅스 어렵지만 재미 나더군요..^^
Forums:
자세히는 모르지만..
대충 찾아본 결과.. ;;
장치에 0 바이트를 write 하거나
SNDCTL_DSP_SYNC 또는 SNDCTL_DSP_RESET 등의 ioctl 을
사용해 보시면 될 듯 합니다.
더 자세한 사항은 커널 소스의
"sound/oss/audio.c" 파일을 찾아보세요..
댓글 달기