win32-ipc 0.5.0 → 0.5.1

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.
data/CHANGES CHANGED
@@ -1,3 +1,9 @@
1
+ == 0.5.1 - 1-Jan-2008
2
+ * Fixed bugs in the private wait_for_multiple method. Thanks go to an
3
+ anonymous user for the spot and the patch.
4
+ * Removed the install.rb file. Installation was merged into the Rakefile.
5
+ * Updated the MANIFEST.
6
+
1
7
  == 0.5.0 - 30-Apr-2007
2
8
  * Now pure Ruby.
3
9
  * Ipc.new no longer accepts a block.
data/MANIFEST CHANGED
@@ -1,7 +1,7 @@
1
1
  * CHANGES
2
- * install.rb
3
2
  * MANIFEST
4
3
  * README
4
+ * Rakefile
5
5
  * win32-ipc.gemspec
6
6
  * lib/win32/ipc.rb
7
7
  * test/tc_ipc.rb
data/README CHANGED
@@ -10,19 +10,19 @@ There is no synopsis. Don't use this module directly. It is used as the basis
10
10
  for other packages, such as win32-mutex, etc.
11
11
 
12
12
  = Notes
13
- Based originally on the Win32::Ipc module by Gurusamy Sarathy.
13
+ Originally based on the Win32::Ipc Perl module by Gurusamy Sarathy.
14
14
 
15
15
  This package is a prerequisite for several other IPC related Windows packages.
16
16
 
17
17
  = Known Bugs
18
- None that I know of. Please log any other bug reports on the RubyForge
18
+ None that I know of. Please log any other bug reports on the RubyForge
19
19
  project page at http://www.rubyforge.net/projects/win32utils
20
20
 
21
21
  = License
22
22
  Ruby's
23
23
 
24
24
  = Copyright
25
- (C) 2003-2007 Daniel J. Berger, All Rights Reserved
25
+ (C) 2003-2008 Daniel J. Berger, All Rights Reserved
26
26
 
27
27
  = Warranty
28
28
  This package is provided "as is" and without any express or
data/Rakefile CHANGED
@@ -1,9 +1,16 @@
1
1
  require 'rake'
2
2
  require 'rake/testtask'
3
+ require 'rbconfig'
4
+ include Config
3
5
 
4
6
  desc 'Install the win32-ipc package (non-gem)'
5
7
  task :install do
6
- ruby 'install.rb'
8
+ sitelibdir = CONFIG['sitelibdir']
9
+ installdir = File.join(sitelibdir, 'win32')
10
+ file = File.join('lib', 'win32', 'ipc.rb')
11
+
12
+ Dir.mkdir(installdir) unless File.exists?(installdir)
13
+ FileUtils.cp(file, installdir, :verbose => true)
7
14
  end
8
15
 
9
16
  Rake::TestTask.new do |t|
@@ -14,7 +14,7 @@ module Win32
14
14
 
15
15
  class Error < StandardError; end
16
16
 
17
- VERSION = '0.5.0'
17
+ VERSION = '0.5.1'
18
18
 
19
19
  SIGNALED = 1
20
20
  ABANDONED = -1
@@ -125,20 +125,21 @@ module Win32
125
125
  raise Error, 'no objects to wait for'
126
126
  end
127
127
 
128
- wait = WaitForMultipleObjects(length, ipc_objects, wait_all, timeout)
128
+ handles = ipc_objects.map{ |o| o.handle }
129
+ wait = WaitForMultipleObjects(length, handles.pack('L*'), wait_all, timeout)
129
130
 
130
131
  if wait == WAIT_FAILED
131
132
  raise Error, get_last_error
132
133
  end
133
134
 
134
135
  # signaled
135
- if (wait > WAIT_OBJECT_0) && (wait < WAIT_OBJECT_0 + length)
136
+ if (wait >= WAIT_OBJECT_0) && (wait < WAIT_OBJECT_0 + length)
136
137
  return wait - WAIT_OBJECT_0 + 1
137
138
  end
138
139
 
139
140
  # abandoned mutex - return negative value
140
- if (wait >= WAIT_ABANDONED_0) && (wait < WAIT_ABANDONED_0 + length)
141
- return -wait - WAIT_ABANDONED_0 + 1
141
+ if (wait >= WAIT_ABANDONED) && (wait < WAIT_ABANDONED + length)
142
+ return -wait - WAIT_ABANDONED + 1
142
143
  end
143
144
 
144
145
  # timed out
@@ -17,7 +17,7 @@ class TC_Win32_Ipc < Test::Unit::TestCase
17
17
  end
18
18
 
19
19
  def test_version
20
- assert_equal('0.5.0', Ipc::VERSION)
20
+ assert_equal('0.5.1', Ipc::VERSION)
21
21
  end
22
22
 
23
23
  def test_handle
@@ -2,7 +2,7 @@ require "rubygems"
2
2
 
3
3
  spec = Gem::Specification.new do |gem|
4
4
  gem.name = "win32-ipc"
5
- gem.version = "0.5.0"
5
+ gem.version = "0.5.1"
6
6
  gem.author = "Daniel J. Berger"
7
7
  gem.email = "djberg96@gmail.com"
8
8
  gem.homepage = "http://www.rubyforge.org/projects/win32utils"
metadata CHANGED
@@ -1,67 +1,73 @@
1
1
  --- !ruby/object:Gem::Specification
2
- rubygems_version: 0.9.0.8
3
- specification_version: 1
4
2
  name: win32-ipc
5
3
  version: !ruby/object:Gem::Version
6
- version: 0.5.0
7
- date: 2007-04-30 00:00:00 -06:00
8
- summary: An abstract base class for Windows synchronization objects.
9
- require_paths:
10
- - lib
11
- email: djberg96@gmail.com
12
- homepage: http://www.rubyforge.org/projects/win32utils
13
- rubyforge_project:
14
- description: An abstract base class for Windows synchronization objects.
15
- autorequire:
16
- default_executable:
17
- bindir: bin
18
- has_rdoc: true
19
- required_ruby_version: !ruby/object:Gem::Version::Requirement
20
- requirements:
21
- - - ">"
22
- - !ruby/object:Gem::Version
23
- version: 0.0.0
24
- version:
4
+ version: 0.5.1
25
5
  platform: ruby
26
- signing_key:
27
- cert_chain:
28
- post_install_message:
29
6
  authors:
30
7
  - Daniel J. Berger
8
+ autorequire:
9
+ bindir: bin
10
+ cert_chain: []
11
+
12
+ date: 2008-01-01 00:00:00 -07:00
13
+ default_executable:
14
+ dependencies:
15
+ - !ruby/object:Gem::Dependency
16
+ name: windows-pr
17
+ version_requirement:
18
+ version_requirements: !ruby/object:Gem::Requirement
19
+ requirements:
20
+ - - ">="
21
+ - !ruby/object:Gem::Version
22
+ version: 0.6.0
23
+ version:
24
+ description: An abstract base class for Windows synchronization objects.
25
+ email: djberg96@gmail.com
26
+ executables: []
27
+
28
+ extensions: []
29
+
30
+ extra_rdoc_files:
31
+ - README
32
+ - CHANGES
33
+ - MANIFEST
31
34
  files:
32
35
  - lib/win32/ipc.rb
33
36
  - test/CVS
34
37
  - test/tc_ipc.rb
35
38
  - CHANGES
36
39
  - CVS
37
- - install.rb
38
40
  - lib
39
41
  - MANIFEST
40
42
  - Rakefile
41
43
  - README
42
44
  - test
43
45
  - win32-ipc.gemspec
44
- test_files:
45
- - test/tc_ipc.rb
46
+ has_rdoc: true
47
+ homepage: http://www.rubyforge.org/projects/win32utils
48
+ post_install_message:
46
49
  rdoc_options: []
47
50
 
48
- extra_rdoc_files:
49
- - README
50
- - CHANGES
51
- - MANIFEST
52
- executables: []
53
-
54
- extensions: []
55
-
51
+ require_paths:
52
+ - lib
53
+ required_ruby_version: !ruby/object:Gem::Requirement
54
+ requirements:
55
+ - - ">="
56
+ - !ruby/object:Gem::Version
57
+ version: "0"
58
+ version:
59
+ required_rubygems_version: !ruby/object:Gem::Requirement
60
+ requirements:
61
+ - - ">="
62
+ - !ruby/object:Gem::Version
63
+ version: "0"
64
+ version:
56
65
  requirements: []
57
66
 
58
- dependencies:
59
- - !ruby/object:Gem::Dependency
60
- name: windows-pr
61
- version_requirement:
62
- version_requirements: !ruby/object:Gem::Version::Requirement
63
- requirements:
64
- - - ">="
65
- - !ruby/object:Gem::Version
66
- version: 0.6.0
67
- version:
67
+ rubyforge_project:
68
+ rubygems_version: 1.0.1
69
+ signing_key:
70
+ specification_version: 2
71
+ summary: An abstract base class for Windows synchronization objects.
72
+ test_files:
73
+ - test/tc_ipc.rb
data/install.rb DELETED
@@ -1,11 +0,0 @@
1
- # For those who don't like gems...
2
- require 'rbconfig'
3
- require 'fileutils'
4
- include Config
5
-
6
- sitelibdir = CONFIG['sitelibdir']
7
- installdir = sitelibdir + '/win32'
8
- file = 'lib\win32\ipc.rb'
9
-
10
- Dir.mkdir(installdir) unless File.exists?(installdir)
11
- FileUtils.cp(file, installdir, :verbose => true)