Skip to content

Commit baedc00

Browse files
committed
Merge remote-tracking branch 'origin' into 1.8.7
2 parents 5252fc0 + 6ce75ef commit baedc00

File tree

2 files changed

+8
-5
lines changed

2 files changed

+8
-5
lines changed

kernel/common/autoload.rb

+6-4
Original file line numberDiff line numberDiff line change
@@ -49,10 +49,12 @@ def call(under, honor_require=false)
4949
end
5050

5151
def resolve
52-
unless @loaded && @thread == Thread.current
53-
@loaded = true
54-
@thread = Thread.current
55-
Rubinius::CodeLoader.require @path
52+
Rubinius.synchronize(self) do
53+
unless @loaded && @thread == Thread.current
54+
@loaded = true
55+
@thread = Thread.current
56+
Rubinius::CodeLoader.require @path
57+
end
5658
end
5759
end
5860

vm/internal_threads.cpp

+2-1
Original file line numberDiff line numberDiff line change
@@ -76,7 +76,8 @@ namespace rubinius {
7676

7777
if(int error = pthread_create(&vm_->os_thread(), &attrs,
7878
InternalThread::run, (void*)this)) {
79-
logger::error("%s: %s: create thread failed", strerror(error), name_.c_str());
79+
logger::fatal("%s: %s: create thread failed", strerror(error), name_.c_str());
80+
::abort();
8081
}
8182
}
8283

0 commit comments

Comments
 (0)