process_starter 1.0.2 → 1.0.3

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (2) hide show
  1. data/lib/process_starter.rb +8 -6
  2. metadata +4 -4
@@ -1,9 +1,9 @@
1
1
  # 2012 (c) LineAct / www.lineact.com
2
2
 
3
- require 'rubygems'
3
+ require 'rubygems'
4
4
  require 'fcntl'
5
-
6
- # https://github.com/rtomayko/posix-spawn
5
+
6
+ # https://github.com/rtomayko/posix-spawn
7
7
  begin; require( 'posix/spawn' ) ; rescue LoadError ; end
8
8
 
9
9
  module ProcessStarter
@@ -53,6 +53,8 @@ module ProcessStarter
53
53
  end
54
54
  end
55
55
 
56
+ # find all opened io descriptors in current process
57
+ # without FD_CLOEXEC flag (auto close on exec/system/spawn)
56
58
  # based on close_io from: http://daemons.rubyforge.org/Daemonize.html
57
59
  def self.close_io( do_close=false, debug = false )
58
60
  close_them = []
@@ -81,11 +83,11 @@ module ProcessStarter
81
83
  puts io.to_i if debug
82
84
  next if io.fileno < 3
83
85
  puts "checking flag" if debug
84
- r = begin; io.fcntl(Fcntl::F_GETFD) & Fcntl::FD_CLOEXEC != 0 rescue false; end
85
- puts if debug
86
+ r = begin; io.fcntl(Fcntl::F_GETFD) & Fcntl::FD_CLOEXEC != 0 rescue false; end
87
+ puts if debug
86
88
  # puts io.fcntl(Fcntl::F_GETFD) & Fcntl::FD_CLOEXEC
87
89
  # next if (io.fcntl(Fcntl::F_GETFD) & Fcntl::FD_CLOEXEC != 0)
88
- next if r
90
+ next if r
89
91
  # puts "adding"
90
92
  close_them << io.to_i
91
93
  io.close if do_close
metadata CHANGED
@@ -1,13 +1,13 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: process_starter
3
3
  version: !ruby/object:Gem::Version
4
- hash: 19
4
+ hash: 17
5
5
  prerelease:
6
6
  segments:
7
7
  - 1
8
8
  - 0
9
- - 2
10
- version: 1.0.2
9
+ - 3
10
+ version: 1.0.3
11
11
  platform: ruby
12
12
  authors:
13
13
  - Pavel Vasev
@@ -19,7 +19,7 @@ date: 2012-09-24 00:00:00 +06:00
19
19
  default_executable:
20
20
  dependencies: []
21
21
 
22
- description: A gem to start process in parallel plus dont inherit handles plus both in windows/linux
22
+ description: A gem for Ruby 1.8 to start process in parallel, 1) don't wait for it finish 2) dont inherit io file handles 3) both in windows/linux. Ruby 1.9 dont need it because it has spawn method.
23
23
  email: pavel.vasev@gmail.com
24
24
  executables: []
25
25