1
0
Fork 0
mirror of https://github.com/puma/puma.git synced 2022-11-09 13:48:40 -05:00
puma--puma/lib/puma/jruby_restart.rb
MSP-Greg fa65cf7141
103 RuboCop fixes (#2976)
* rubocop.yml - add more Cops & alphabetize

* RuboCop - Performance/UnfreezeString

* RuboCop - Style/SafeNavigation

* RuboCop - Performance/StringInclude

* RuboCop - Performance/StringIdentifierArgument

* RuboCop - Performance/RegexpMatch

* RuboCop - Performance/MethodObjectAsBlock

* RuboCop - Performance/CollectionLiteralInLoop

* RuboCop - Performance/ChainArrayAllocation
2022-09-30 15:06:32 +09:00

27 lines
604 B
Ruby

# frozen_string_literal: true
require 'ffi'
module Puma
module JRubyRestart
extend FFI::Library
ffi_lib 'c'
attach_function :execlp, [:string, :varargs], :int
attach_function :chdir, [:string], :int
attach_function :fork, [], :int
attach_function :exit, [:int], :void
attach_function :setsid, [], :int
def self.chdir_exec(dir, argv)
chdir(dir)
cmd = argv.first
argv = ([:string] * argv.size).zip(argv)
argv.flatten!
argv << :string
argv << nil
execlp(cmd, *argv)
raise SystemCallError.new(FFI.errno)
end
end
end