Advanced System Programming

By Suntae Hwang

Fall Semester

Homework #5

BBS에서 WRITE 및 DELETE 명령은 article.index의 일부 내용을 변경하도록 되어 있다.

1. article.index 파일 형식

[빈줄]
13           <-- 다음 사용할 글 번호
12           <-- 등록된 글의 개수
[빈줄]
... 

* 위의 article.index에서 "다음 사용할 글 번호" 와 "등록된 글의 개수" 부분을 보호하여 다음의 문제를 해결하시오.
- WRITE가 종료되기 전에 WRITE가 다시 실행될 경우, 해당 글들이 같은 글 번호를 가질 수 있다.
- 2개의 DELETE가 비슷하게 실행될 경우, 등록된 글의 개수가 1개만 감소될 수 있다.

= 힌트: fcntl 혹은 file lock을 사용하여 해결할 수 있다.