summaryrefslogtreecommitdiff
path: root/code/snippets/cow_no_writes.rb
diff options
context:
space:
mode:
Diffstat (limited to 'code/snippets/cow_no_writes.rb')
-rw-r--r--code/snippets/cow_no_writes.rb10
1 files changed, 10 insertions, 0 deletions
diff --git a/code/snippets/cow_no_writes.rb b/code/snippets/cow_no_writes.rb
new file mode 100644
index 0000000..6e93ff7
--- /dev/null
+++ b/code/snippets/cow_no_writes.rb
@@ -0,0 +1,10 @@
+arr = [1,2,3]
+
+fork do
+ # At this point the child process has been initialized.
+ # Using CoW this process doesn't need to copy the arr variable,
+ # since it hasn't modified any shared values it can continue reading
+ # from the same memory location as the parent process.
+ p arr
+end
+