[완료]]sched_getscheduler 리턴값이 이상한 것 같습니다..
글쓴이: pizza56 / 작성시간: 화, 2010/07/13 - 1:15오후
sched_getscheduler(pid)를 하면 성공시에 SCHED_OTHER, SCHED_BATCH, SCHED_IDLE, SCHED_RR, SCHED_FIFO 중 한 값을 리턴하고, 실패시에는 -1을 리턴한다고 메뉴얼에 적혀 있습니다. 그래서 그대로 생각하고 프로그램을 짜서 봤는데요, 일단 SCHED_BATCH, SCHED_IDLE은 sched.h에 없는 변수더라구요. 근데 어쨋든 프로그래밍 하던 환경에서 어느 헤더파일에선가 SCHED_BATCH는 있는거 같아서(SCHED_IDLE과 달리 없는 변수라는 이야기는 없더라구요), SCHED_IDLE만 빼고 모두 맵핑을 했습니다. 그런데, 실행중인 프로세스중에 /usr/lib/rtkit/rtkit-daemon 1개와, /usr/bin/pulseaudio --start 3개가 있는데 그 sched_getscheduler 리턴값이 위의 4개(IDLE빼고)에 속하지 않으면서, 1073741824 또는 1073741826의 값을 갖는 것을 발견했습니다. 이 두 종류의 리턴값이 의미하는 바가 무엇일까요?
추가 질문) )SCHED_IDLE 이나 SCHED_BATCH가 정의되어있는 헤더 파일이 어디인지 알려주시면 감사하겠습니다.. 여기저기 매뉴얼을 뒤져봤는데, 정확히 어느 헤더에 있다는 정보를 찾기가 쉽지 않네요.
Forums:
/usr/include/linux/sched.h
/usr/include/linux/sched.h에 있습니다.
큰 값이 나오는 경우는 SCHED_RESET_ON_FORK 플래그가 같이 설정된 경우입니다.
아 감사합니다. 덕분에 문제가 빨리 해결 되었네요 ^^.
SCHED_RESET_ON_FORK에 대한 문서를 읽어보고 큰값이 나오는 경우에 SCHED_RESET_ON_FORK를 빼고 보니 해결이 되었네요.. 감사합니다
댓글 달기