Project

General

Profile

Actions

Backport #2564

closed

[patch] re-initialize timer_thread_{lock,cond} after fork

Added by alk (Aliaksey Kandratsenka) almost 15 years ago. Updated over 13 years ago.


Description

=begin
After fork ruby clears timer_thread_id and then creates new timer thread in new process. But because new process inherits memory of old process it may see locked timer_thread_lock and well as invalid state of timer_thread_cond.

This patch simply initializes both this variables before their first use.

This bug causes lockup of Rails apps under phusion passenger on ruby 1.9.1.
=end


Files

Actions

Also available in: Atom PDF

Like0
Like0Like0Like0Like0Like0Like0Like0Like0Like0Like0Like0Like0Like0Like0Like0Like0Like0