Sha256: 6fd78d60e46ac0d12d5ebcd8147c445df2619d12a33df28159589a5040b8ba44

Contents?: true

Size: 592 Bytes

Versions: 65

Compression:

Stored size: 592 Bytes

Contents

# 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).flatten
      argv << :string
      argv << nil
      execlp(cmd, *argv)
      raise SystemCallError.new(FFI.errno)
    end
  end
end

Version data entries

65 entries across 62 versions & 5 rubygems

Version Path
puma-5.6.9-java lib/puma/jruby_restart.rb
puma-5.6.9 lib/puma/jruby_restart.rb
blacklight-spotlight-3.6.0.beta8 vendor/bundle/ruby/3.2.0/gems/puma-5.6.8/lib/puma/jruby_restart.rb
puma-5.6.8-java lib/puma/jruby_restart.rb
puma-5.6.8 lib/puma/jruby_restart.rb
puma-5.6.7-java lib/puma/jruby_restart.rb
puma-5.6.7 lib/puma/jruby_restart.rb
puma-5.6.6-java lib/puma/jruby_restart.rb
puma-5.6.6 lib/puma/jruby_restart.rb
puma-5.6.5-java lib/puma/jruby_restart.rb
puma-5.6.5 lib/puma/jruby_restart.rb
puma-5.6.4-java lib/puma/jruby_restart.rb
puma-5.6.4 lib/puma/jruby_restart.rb
puma-5.6.2-java lib/puma/jruby_restart.rb
puma-5.6.2 lib/puma/jruby_restart.rb
puma-5.6.1-java lib/puma/jruby_restart.rb
puma-5.6.1 lib/puma/jruby_restart.rb
puma-5.6.0-java lib/puma/jruby_restart.rb
puma-5.6.0 lib/puma/jruby_restart.rb
date_n_time_picker_activeadmin-0.1.2 vendor/bundle/ruby/2.6.0/gems/puma-5.5.2/lib/puma/jruby_restart.rb