inflearn logo
강의

강의

N
챌린지

챌린지

멘토링

멘토링

N
클립

클립

로드맵

로드맵

지식공유

리눅스 시스템 프로그래밍 - 이론과 실습

파일 이벤트 - 라이브 프로그래밍

inotify.c. ret 질문

302

정다빈

작성한 질문수 9

0

안녕하세요 수강생입니다.

ret -= (sizeof(struct inotify_event) + event->Len) 가 0이 된다는 의미가, ret에 누적된 event가 모두 소거된다는 의미인가요?

linux

답변 1

0

런잇(ProgCoach4U)

안녕하세요. 정다빈님

read() 함수의 리턴값을 ret에 저장해두었는데요, read()의 리턴값은 양수인 경우 읽어온 바이트 수 입니다.
하나 이상의 이벤트를 읽어왔을 수 있기 때문에 읽어온 모든 데이터를 소진할 때까지(=모든 이벤트를 처리할 때까지) while loop을 도는 것입니다.
이벤트를 하나 처리하고 나서 한 이벤트가 차지하고 있던 바이트수 만큼 빼주는 것이고, while()에서는 ret의 값이 아직 남았는 지를 보고 처리할 것이 더 있는지를 판단하게 되는 것입니다.

inotify 객체에 등록된 watch descriptor 해제 관련 질문

0

36

2

select API 실습 코드 질문

0

40

2

wsl에서 fcntl사용

0

72

2

inotify_event 구조체 질문 [파일 이벤트 - 라이브 프로그래밍]에서...

0

179

2

./stat 파일이름

0

272

2

fopen r, r+모드 차이

0

460

2

강의를 모두 수강하고 스스로 구현하면 좋을 과제나 프로젝트 주제가 있을까요?

0

326

1

pthread 질문

0

419

2

I/O Multiplexing(select) 질문

0

324

1

inotify.c 질의합니다.

1

317

1

child process

0

715

1

read/blocking

0

564

1

flock

0

565

1

system call

0

598

1

pthread_create() 함수 이용했을 때, thread가 두번 호출되는 것 처럼 나타납니다. 왜 그런것인가요?

0

487

1

fork() 함수 사용시 결과 관련 질문

0

371

1

exec 관련 궁금한 사항

0

450

2

파일 디스크립터와 FILE 구조체에 대한 질문

0

552

1

buf 선언에 따른 read() fail 문제

0

251

2

파일 이벤트 - 라이브 프로그래밍 에서 캐스팅 질문

0

254

1

2번 multi thread 방법 질문

0

242

1

segmentation fault 발생 관련 문의

1

842

1

라이브 코딩 실습 코드

0

235

1

화면이 짤려요

0

549

4