about summary refs log tree commit homepage
path: root/KNOWN_ISSUES
diff options
context:
space:
mode:
authorEric Wong <normalperson@yhbt.net>2010-01-25 18:07:52 -0800
committerEric Wong <normalperson@yhbt.net>2010-01-25 18:21:30 -0800
commit813cdd3cbc35a86ebf33aaf028937e70a15ddba0 (patch)
tree087639fb6e9057c5102de176be039baf73fe9d33 /KNOWN_ISSUES
parentcb6d8c71abac83d75d2bc990bdbc84748a1309ea (diff)
downloadunicorn-813cdd3cbc35a86ebf33aaf028937e70a15ddba0.tar.gz
Thanks to Michael Guterl for informing us of the issues
and testing the monkey patch.
Diffstat (limited to 'KNOWN_ISSUES')
-rw-r--r--KNOWN_ISSUES8
1 files changed, 8 insertions, 0 deletions
diff --git a/KNOWN_ISSUES b/KNOWN_ISSUES
index 83b3584..e83e34e 100644
--- a/KNOWN_ISSUES
+++ b/KNOWN_ISSUES
@@ -3,6 +3,14 @@
 Occasionally odd {issues}[link:ISSUES.html] arise without a transparent or
 acceptable solution.  Those issues are documented here.
 
+* When using "preload_app true", with apps using background threads
+  need to restart them in the after_fork hook because threads are never
+  shared with child processes.  Additionally, any synchronization
+  primitives (Mutexes, Monitors, ConditionVariables) should be
+  reinitialized in case they are held during fork time to avoid
+  deadlocks.  The core Ruby Logger class needlessly uses a MonitorMutex
+  which can be disabled with a {monkey patch}[link:examples/logger_mp_safe.rb]
+
 * Rails 2.3.2 bundles its own version of Rack.  This may cause subtle
   bugs when simultaneously loaded with the system-wide Rack Rubygem
   which Unicorn depends on.  Upgrading to Rails 2.3.4 (or later) is