From 5e8fa757b9ecdc4cde90a2195c4cbfa9cd450f43 Mon Sep 17 00:00:00 2001 From: Olle Jonsson Date: Sat, 4 Apr 2020 01:04:40 +0200 Subject: [PATCH] Avoid lazy initialization of Mutex - The class needs it all the time for its primary tasks - This change helps Ruby platforms which do not have a GIL/GVL --- lib/cxxproject/ide_interface.rb | 9 +++------ 1 file changed, 3 insertions(+), 6 deletions(-) diff --git a/lib/cxxproject/ide_interface.rb b/lib/cxxproject/ide_interface.rb index 4ac4dff..1a2753f 100644 --- a/lib/cxxproject/ide_interface.rb +++ b/lib/cxxproject/ide_interface.rb @@ -20,10 +20,7 @@ def initialize() @socket = nil @abort = false @thread = nil - end - - def mutex - @mutex ||= Mutex.new + @mutex = Mutex.new end def connect(port) @@ -114,7 +111,7 @@ def set_errors(error_array) msg.message.rstrip! packet = create_error_packet(msg) begin - mutex.synchronize { @socket.write(packet) } + @mutex.synchronize { @socket.write(packet) } rescue Exception => e Printer.printError "Error: #{e.message}" set_abort(true) @@ -162,7 +159,7 @@ def set_build_info(name_attr, config_name_attr, num = -1) write_long(packet, num >=0 ? num : 0) begin - mutex.synchronize { @socket.write(packet) if @socket } + @mutex.synchronize { @socket.write(packet) if @socket } rescue Exception => e Printer.printError "Error: #{e.message}" set_abort(true)