inflearn logo
강의

강의

N
챌린지

챌린지

멘토링

멘토링

N
클립

클립

로드맵

로드맵

지식공유

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

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

inotify.c. ret 질문

300

정다빈

작성한 질문수 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

29

2

select API 실습 코드 질문

0

34

2

wsl에서 fcntl사용

0

71

2

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

0

178

2

./stat 파일이름

0

272

2

fopen r, r+모드 차이

0

459

2

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

0

325

1

pthread 질문

0

419

2

I/O Multiplexing(select) 질문

0

323

1

inotify.c 질의합니다.

1

316

1

child process

0

714

1

read/blocking

0

563

1

flock

0

563

1

system call

0

595

1

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

0

486

1

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

0

370

1

exec 관련 궁금한 사항

0

450

2

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

0

551

1

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

0

250

2

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

0

251

1

2번 multi thread 방법 질문

0

241

1

segmentation fault 발생 관련 문의

1

837

1

라이브 코딩 실습 코드

0

230

1

화면이 짤려요

0

544

4