summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
-rw-r--r--file.c13
1 files changed, 8 insertions, 5 deletions
diff --git a/file.c b/file.c
index 7b4303acd..0e3a2d209 100644
--- a/file.c
+++ b/file.c
@@ -3499,15 +3499,18 @@ rb_thread_flock(void *data)
*
* Example:
*
- * # write lock
+ * # update a counter using write lock
* # don't use "w" because it truncates the file before lock.
- * File.open("testfile", File::WRONLY|File::CREAT, 0644) {|f|
+ * File.open("counter", File::RDWR|File::CREAT, 0644) {|f|
* f.flock(File::LOCK_EX)
- * f.truncate(0)
- * f.write "new content"
+ * value = f.read.to_i + 1
+ * f.rewind
+ * f.write("#{value}\n")
+ * f.flush
+ * f.truncate(f.pos)
* }
*
- * # read lock
+ * # read the counter using read lock
* File.open("testfile", "r") {|f|
* f.flock(File::LOCK_SH)
* p f.read