lockf.rb 0.12.0 → 1.0.0

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.
checksums.yaml CHANGED
@@ -1,7 +1,7 @@
1
1
  ---
2
2
  SHA256:
3
- metadata.gz: cc7a6787621983c5bcea9dc35a899eb064d8d09f20d905b90b8391e8fc018f64
4
- data.tar.gz: e32dcc7d52786b2c1c2acdb652264b450506debd976583a2ff8f46a367b2efe9
3
+ metadata.gz: 05e204191db7552902307b79f09636be97f36fba053a89c5ab849c6dd0205830
4
+ data.tar.gz: 82167b478eae279325094a0ba29b8d75500dc6d0a53ea32fd24ed0ef200fa643
5
5
  SHA512:
6
- metadata.gz: b275ee5e97c06f6dfcfbf32074139b1514b3fe4795ab1669bdbb188336f0039aee368846146b6e4b6ef15fc41d0077816844cfcf772e52039584b5816d5e8cbb
7
- data.tar.gz: ffab08187b049fd42ad5549e060c0ba5da31228212c1e5419c3c9640a8842c96617a20cd54ee6f14edc265a5b28ddf50bc00e8dc343493fce0ec6a96a388a3cb
6
+ metadata.gz: 31b69f15f99e3a4b6f522de3b708130ee67ab3a3c5498df989e034bf281f0c02463f360d948150ca9cd562e85a9fd4a8d802d27dad6fa014e289abaa33c6f5d6
7
+ data.tar.gz: 8b9d9b5979cf813a0234054531e0fe4e6d7c7be83221f49540aeaec97d94347db851756fece830b4f711da42683d4195589f7d3578264a232d6aedd37d7d0377
data/.clang-format ADDED
@@ -0,0 +1,11 @@
1
+ BasedOnStyle: LLVM
2
+ IndentWidth: 2
3
+ SortIncludes: false
4
+ UseTab: Never
5
+ BreakBeforeBraces: Allman
6
+ AllowShortFunctionsOnASingleLine: Inline
7
+ AlwaysBreakAfterDefinitionReturnType: TopLevel
8
+ BreakBeforeBinaryOperators: All
9
+ BinPackArguments: false
10
+ AlignConsecutiveAssignments: true
11
+ AlwaysBreakAfterReturnType: None
data/.rubocop.yml CHANGED
@@ -18,4 +18,8 @@ Layout/ArgumentAlignment:
18
18
  ##
19
19
  # Options for all cops.
20
20
  AllCops:
21
- TargetRubyVersion: 2.7
21
+ TargetRubyVersion: 3.2
22
+ Include:
23
+ - lib/*.rb
24
+ - lib/**/*.rb
25
+ - test/*.rb
data/Gemfile CHANGED
@@ -1,3 +1,2 @@
1
1
  source "https://rubygems.org"
2
2
  gemspec
3
- gem "test-cmd.rb", github: "0x1eef/test-cmd.rb", tag: "v0.4.0"
data/README.md CHANGED
@@ -1,21 +1,12 @@
1
1
  ## About
2
2
 
3
- lockf.rb is a C extension that provides a Ruby interface to
3
+ lockf.rb provides Ruby bindings for
4
4
  [lockf(3)](https://man.freebsd.org/cgi/man.cgi?query=lockf&sektion=3).
5
5
  The
6
6
  [lockf(3)](https://man.freebsd.org/cgi/man.cgi?query=lockf&sektion=3)
7
7
  function implements an advisory-mode lock that can be placed on select
8
8
  regions of a file, or on the entire contents of a file.
9
9
 
10
- [lockf(3)](https://man.freebsd.org/cgi/man.cgi?query=lockf&sektion=3)
11
- can be used to synchronize access to a file between multiple
12
- processes, or be used more generally to synchronize access to a shared
13
- resource being accessed by multiple processes at the same time. When used
14
- generally,
15
- [lockf(3)](https://man.freebsd.org/cgi/man.cgi?query=lockf&sektion=3)
16
- can provide something similar to a mutex that works across multiple
17
- processes rather than multiple threads.
18
-
19
10
  ## Examples
20
11
 
21
12
  ### LockFile
@@ -44,7 +35,7 @@ end
44
35
  sleep(3)
45
36
  lockf.release
46
37
  Process.wait(pid)
47
- lockf.file.close
38
+ lockf.close
48
39
 
49
40
  ##
50
41
  # Lock acquired by parent process (2023-02-11 16:43:15 UTC)
@@ -76,7 +67,7 @@ end
76
67
  sleep 3
77
68
  lockf.release
78
69
  Process.wait(pid)
79
- lockf.file.close
70
+ lockf.close
80
71
 
81
72
  ##
82
73
  # Lock acquired by parent process (2023-02-11 19:03:05 UTC)
@@ -131,32 +122,24 @@ file.close
131
122
  # Lock released
132
123
  ```
133
124
 
134
- ## Sources
125
+ ## Documentation
135
126
 
136
- * [Source code (GitHub)](https://github.com/0x1eef/lockf.rb#readme)
137
- * [Source code (GitLab)](https://gitlab.com/0x1eef/lockf.rb#about)
127
+ A complete API reference is available at
128
+ [0x1eef.github.io/x/lockf.rb](https://0x1eef.github.io/x/lockf.rb).
138
129
 
139
130
  ## Install
140
131
 
141
- **Git**
142
-
143
- lockf.rb is distributed as a RubyGem through its git repositories. <br>
144
- [GitHub](https://github.com/0x1eef/lockf.rb),
145
- and
146
- [GitLab](https://gitlab.com/0x1eef/lockf.rb)
147
- are available as sources.
148
-
149
- ``` ruby
150
- # Gemfile
151
- gem "lock.fb", github: "0x1eef/lockf.rb", tag: "v0.12.0"
152
- ```
153
-
154
132
  **Rubygems.org**
155
133
 
156
- lock.rb can also be installed via rubygems.org.
134
+ lockf.rb can be installed via rubygems.org.
157
135
 
158
136
  gem install lockf.rb
159
137
 
138
+ ## Sources
139
+
140
+ * [GitHub](https://github.com/0x1eef/lockf.rb#readme)
141
+ * [GitLab](https://gitlab.com/0x1eef/lockf.rb#about)
142
+
160
143
  ## License
161
144
 
162
145
  [BSD Zero Clause](https://choosealicense.com/licenses/0bsd/).
data/Rakefile.rb CHANGED
@@ -1,21 +1,23 @@
1
+ require "bundler/setup"
1
2
  require "rake/extensiontask"
2
3
  require "rake/testtask"
3
4
 
4
- namespace :linters do
5
- desc "Run the C linter"
6
- task :c do
7
- sh "uncrustify -c .uncrustify.cfg --no-backup --replace ext/lockf.rb/*.c"
5
+ namespace :clang do
6
+ desc "Run clang-format"
7
+ task :format do
8
+ sh "clang-format -style=file:.clang-format -i ext/lockf.rb/*.c"
8
9
  end
10
+ end
9
11
 
10
- desc "Run the Ruby linter"
11
- task :ruby do
12
- sh "bundle exec rubocop -A Rakefile.rb lib/**/*.rb spec/**/*.rb"
12
+ namespace :ruby do
13
+ desc "Run rubocop"
14
+ task :format do
15
+ sh "bundle exec rubocop -A"
13
16
  end
14
17
  end
15
- task lint: ["linters:c", "linters:ruby"]
18
+ task format: %w[clang:format ruby:format]
16
19
 
17
20
  Rake::ExtensionTask.new("lockf.rb")
18
-
19
21
  Rake::TestTask.new do |t|
20
22
  t.test_files = FileList["test/*_test.rb"]
21
23
  t.verbose = true
data/ext/lockf.rb/lockf.c CHANGED
@@ -1,7 +1,6 @@
1
1
  #include <ruby.h>
2
2
  #include <unistd.h>
3
3
  #include <errno.h>
4
- #include "lockf.h"
5
4
 
6
5
  static VALUE
7
6
  lockf_lock(VALUE self, VALUE fd, VALUE cmd, VALUE len)
@@ -11,26 +10,27 @@ lockf_lock(VALUE self, VALUE fd, VALUE cmd, VALUE len)
11
10
  Check_Type(fd, T_FIXNUM);
12
11
  Check_Type(cmd, T_FIXNUM);
13
12
  Check_Type(len, T_FIXNUM);
14
- errno = 0;
13
+ errno = 0;
15
14
  result = lockf(NUM2INT(fd), NUM2INT(cmd), NUM2INT(len));
16
- if (result == -1) {
17
- rb_syserr_fail(errno, "lockf");
18
- } else {
15
+ if (result == 0)
16
+ {
19
17
  return INT2NUM(result);
20
18
  }
19
+ else
20
+ {
21
+ rb_syserr_fail(errno, "lockf");
22
+ }
21
23
  }
22
24
 
23
25
  void
24
26
  Init_lockf(void)
25
27
  {
26
- VALUE cLockf, mFcntl;
28
+ VALUE cLockf;
27
29
 
28
- rb_require("fcntl");
29
30
  cLockf = rb_define_class("LockFile", rb_cObject);
30
- mFcntl = rb_const_get(rb_cObject, rb_intern("Fcntl"));
31
- rb_define_const(mFcntl, "F_LOCK", INT2NUM(F_LOCK));
32
- rb_define_const(mFcntl, "F_TLOCK", INT2NUM(F_TLOCK));
33
- rb_define_const(mFcntl, "F_ULOCK", INT2NUM(F_ULOCK));
34
- rb_define_const(mFcntl, "F_TEST", INT2NUM(F_TEST));
31
+ rb_define_const(cLockf, "F_LOCK", INT2NUM(F_LOCK));
32
+ rb_define_const(cLockf, "F_TLOCK", INT2NUM(F_TLOCK));
33
+ rb_define_const(cLockf, "F_ULOCK", INT2NUM(F_ULOCK));
34
+ rb_define_const(cLockf, "F_TEST", INT2NUM(F_TEST));
35
35
  rb_define_singleton_method(cLockf, "lockf", lockf_lock, 3);
36
36
  }
data/lib/lockf/version.rb CHANGED
@@ -1,3 +1,3 @@
1
1
  class LockFile
2
- VERSION = "0.12.0"
2
+ VERSION = "1.0.0"
3
3
  end
data/lib/lockf.rb CHANGED
@@ -1,12 +1,11 @@
1
1
  ##
2
2
  # The
3
- # [`LockFile`](https://0x1eef.github.io/x/lockf.rb/LockFile.html)
4
- # class provides a Ruby-oriented interface to the C function
3
+ # [LockFile](https://0x1eef.github.io/x/lockf.rb/LockFile.html)
4
+ # class provides a Ruby interface to
5
5
  # [lockf(3)](https://man.freebsd.org/cgi/man.cgi?query=lockf&sektion=3).
6
6
  class LockFile
7
7
  require "tmpdir"
8
8
  require_relative "lockf.rb.so"
9
- include Fcntl
10
9
 
11
10
  ##
12
11
  # @!method self.lockf(fd, cmd, len)
@@ -80,7 +79,8 @@ class LockFile
80
79
  end
81
80
 
82
81
  ##
83
- # Acquire a lock (blocking)
82
+ # Acquire a lock (blocking).
83
+ #
84
84
  # @raise [Errno::EBADF]
85
85
  # @raise [Errno::EDEADLK]
86
86
  # @raise [Errno::EINTR]
@@ -95,7 +95,8 @@ class LockFile
95
95
  end
96
96
 
97
97
  ##
98
- # Acquire a lock (non-blocking)
98
+ # Acquire a lock (non-blocking).
99
+ #
99
100
  # @raise [Errno::EAGAIN]
100
101
  # @raise [Errno::EBADF]
101
102
  # @raise [Errno::ENOLCK]
@@ -106,7 +107,8 @@ class LockFile
106
107
  end
107
108
 
108
109
  ##
109
- # Release a lock
110
+ # Release a lock.
111
+ #
110
112
  # @raise [Errno::EBADF]
111
113
  # @raise [Errno::ENOLCK]
112
114
  # @return [Integer]
data/lockf.rb.gemspec CHANGED
@@ -10,15 +10,12 @@ Gem::Specification.new do |gem|
10
10
  gem.files = `git ls-files`.split($/)
11
11
  gem.require_paths = ["lib"]
12
12
  gem.extensions = %w[ext/lockf.rb/extconf.rb]
13
- gem.summary = "A Ruby interface for lockf(3)"
13
+ gem.summary = "Ruby bindings for lockf(3)"
14
14
  gem.description = gem.summary
15
15
  gem.add_development_dependency "yard", "~> 0.9"
16
- gem.add_development_dependency "redcarpet", "~> 3.5"
17
- gem.add_development_dependency "standard", "= 1.12.1"
18
- gem.add_development_dependency "rubocop", "= 1.29.1"
19
- gem.add_development_dependency "test-unit", "~> 3.5.7"
20
- gem.add_development_dependency "rake-compiler", "= 1.2.0"
21
- gem.add_development_dependency "rack", "~> 3.0"
22
- gem.add_development_dependency "rackup", "~> 2.1"
23
- gem.add_development_dependency "test-cmd.rb", "~> 0.4"
16
+ gem.add_development_dependency "standard", "~> 1.12"
17
+ gem.add_development_dependency "rubocop", "~> 1.29"
18
+ gem.add_development_dependency "test-unit", "~> 3.5"
19
+ gem.add_development_dependency "rake-compiler", "~> 1.2"
20
+ gem.add_development_dependency "test-cmd.rb", "~> 0.6"
24
21
  end
@@ -11,7 +11,7 @@ end
11
11
  sleep(3)
12
12
  lockf.release
13
13
  Process.wait(pid)
14
- lockf.file.close
14
+ lockf.close
15
15
 
16
16
  ##
17
17
  # Lock acquired by parent process (2023-02-11 16:43:15 UTC)
@@ -14,7 +14,7 @@ end
14
14
  sleep 3
15
15
  lockf.release
16
16
  Process.wait(pid)
17
- lockf.file.close
17
+ lockf.close
18
18
 
19
19
  ##
20
20
  # Lock acquired by parent process (2023-02-11 19:03:05 UTC)
@@ -1,10 +1,10 @@
1
1
  require_relative "setup"
2
2
  class LockFile::Test < Test::Unit::TestCase
3
- include Timeout
4
- include FileUtils
3
+ attr_reader :file
5
4
  attr_reader :lockf
6
5
 
7
6
  def setup
7
+ @file = Tempfile.new("lockf-test").tap(&:unlink)
8
8
  @lockf = LockFile.new(file)
9
9
  end
10
10
 
@@ -13,7 +13,7 @@ class LockFile::Test < Test::Unit::TestCase
13
13
  end
14
14
 
15
15
  ##
16
- # Lock::File#lock tests
16
+ # LockFile#lock
17
17
  def test_lock
18
18
  assert_equal 0, lockf.lock
19
19
  ensure
@@ -21,19 +21,16 @@ class LockFile::Test < Test::Unit::TestCase
21
21
  end
22
22
 
23
23
  def test_lock_in_fork
24
- Process.wait fork {
25
- lockf.lock
26
- Process.kill("SIGINT", Process.ppid)
27
- sleep(1)
28
- }
29
- rescue Interrupt
30
- assert_raises(Timeout::Error) { timeout(0.5) { lockf.lock } }
24
+ pid = fork_sleep { lockf.lock }
25
+ sleep(0.1)
26
+ assert_raises(Errno::EWOULDBLOCK) { lockf.lock_nonblock }
31
27
  ensure
28
+ Process.kill("KILL", pid)
32
29
  lockf.release
33
30
  end
34
31
 
35
32
  ##
36
- # Lock::File#lock_nonblock tests
33
+ # LockFile#lock_nonblock
37
34
  def test_lock_nonblock
38
35
  assert_equal 0, lockf.lock_nonblock
39
36
  ensure
@@ -41,52 +38,41 @@ class LockFile::Test < Test::Unit::TestCase
41
38
  end
42
39
 
43
40
  def test_lock_nonblock_in_fork
44
- Process.wait fork {
45
- lockf.lock_nonblock
46
- Process.kill("SIGINT", Process.ppid)
47
- sleep(1)
48
- }
49
- rescue Interrupt
50
- assert_raises(Errno::EAGAIN) { lockf.lock_nonblock }
41
+ pid = fork_sleep { lockf.lock_nonblock }
42
+ sleep(0.1)
43
+ assert_raises(Errno::EWOULDBLOCK) { lockf.lock_nonblock }
51
44
  ensure
45
+ Process.kill("KILL", pid)
52
46
  lockf.release
53
47
  end
54
48
 
55
49
  ##
56
- # Lock::File#locked? tests
50
+ # LockFile#locked?
57
51
  def test_locked?
58
- lockf.lock
59
- Process.wait fork { lockf.locked? ? exit(0) : exit(1) }
60
- assert_equal 0, $?.exitstatus
52
+ pid = fork_sleep { lockf.lock }
53
+ sleep(0.1)
54
+ assert_equal true, lockf.locked?
61
55
  ensure
56
+ Process.kill("KILL", pid)
62
57
  lockf.release
63
58
  end
64
59
 
65
60
  ##
66
- # LockFile#initialize
67
- def test_initialize_with_str_path
68
- path = File.join(Dir.getwd, "test", "tmp.txt")
69
- touch(path)
70
- lockf = LockFile.new(path)
61
+ # LockFile.temporary_file
62
+ def test_temporary_file
63
+ lockf = LockFile.temporary_file
71
64
  assert_equal 0, lockf.lock
72
65
  assert_equal 0, lockf.release
73
66
  ensure
74
67
  lockf.file.close
75
- rm(path)
76
- end
77
-
78
- ##
79
- # LockFile.from_temporary_file
80
- def test_from_temporary_file
81
- lockf = LockFile.from_temporary_file
82
- assert_equal 0, lockf.lock
83
- assert_equal 0, lockf.release
84
- lockf.file.close
85
68
  end
86
69
 
87
70
  private
88
71
 
89
- def file
90
- @file ||= Tempfile.new("lockf-test").tap(&:unlink)
72
+ def fork_sleep
73
+ fork do
74
+ yield
75
+ sleep
76
+ end
91
77
  end
92
78
  end
data/test/readme_test.rb CHANGED
@@ -4,8 +4,6 @@ require_relative "setup"
4
4
  require "test/cmd"
5
5
 
6
6
  class LockFile::ReadmeTest < Test::Unit::TestCase
7
- include Test::Cmd
8
-
9
7
  def test_lockfile_blocking_variant
10
8
  r = 'Lock acquired by parent process \(.+\)\s*' \
11
9
  'Child process waiting on lock \(.+\)\s*' \
data/test/setup.rb CHANGED
@@ -1,6 +1,4 @@
1
1
  require "bundler/setup"
2
2
  require "test/unit"
3
3
  require "lockf"
4
- require "timeout"
5
- require "fileutils"
6
4
  require "tempfile"
metadata CHANGED
@@ -1,14 +1,14 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: lockf.rb
3
3
  version: !ruby/object:Gem::Version
4
- version: 0.12.0
4
+ version: 1.0.0
5
5
  platform: ruby
6
6
  authors:
7
7
  - '0x1eef'
8
8
  autorequire:
9
9
  bindir: bin
10
10
  cert_chain: []
11
- date: 2024-01-06 00:00:00.000000000 Z
11
+ date: 2024-03-30 00:00:00.000000000 Z
12
12
  dependencies:
13
13
  - !ruby/object:Gem::Dependency
14
14
  name: yard
@@ -25,118 +25,76 @@ dependencies:
25
25
  - !ruby/object:Gem::Version
26
26
  version: '0.9'
27
27
  - !ruby/object:Gem::Dependency
28
- name: redcarpet
28
+ name: standard
29
29
  requirement: !ruby/object:Gem::Requirement
30
30
  requirements:
31
31
  - - "~>"
32
32
  - !ruby/object:Gem::Version
33
- version: '3.5'
33
+ version: '1.12'
34
34
  type: :development
35
35
  prerelease: false
36
36
  version_requirements: !ruby/object:Gem::Requirement
37
37
  requirements:
38
38
  - - "~>"
39
39
  - !ruby/object:Gem::Version
40
- version: '3.5'
41
- - !ruby/object:Gem::Dependency
42
- name: standard
43
- requirement: !ruby/object:Gem::Requirement
44
- requirements:
45
- - - '='
46
- - !ruby/object:Gem::Version
47
- version: 1.12.1
48
- type: :development
49
- prerelease: false
50
- version_requirements: !ruby/object:Gem::Requirement
51
- requirements:
52
- - - '='
53
- - !ruby/object:Gem::Version
54
- version: 1.12.1
40
+ version: '1.12'
55
41
  - !ruby/object:Gem::Dependency
56
42
  name: rubocop
57
- requirement: !ruby/object:Gem::Requirement
58
- requirements:
59
- - - '='
60
- - !ruby/object:Gem::Version
61
- version: 1.29.1
62
- type: :development
63
- prerelease: false
64
- version_requirements: !ruby/object:Gem::Requirement
65
- requirements:
66
- - - '='
67
- - !ruby/object:Gem::Version
68
- version: 1.29.1
69
- - !ruby/object:Gem::Dependency
70
- name: test-unit
71
43
  requirement: !ruby/object:Gem::Requirement
72
44
  requirements:
73
45
  - - "~>"
74
46
  - !ruby/object:Gem::Version
75
- version: 3.5.7
47
+ version: '1.29'
76
48
  type: :development
77
49
  prerelease: false
78
50
  version_requirements: !ruby/object:Gem::Requirement
79
51
  requirements:
80
52
  - - "~>"
81
53
  - !ruby/object:Gem::Version
82
- version: 3.5.7
83
- - !ruby/object:Gem::Dependency
84
- name: rake-compiler
85
- requirement: !ruby/object:Gem::Requirement
86
- requirements:
87
- - - '='
88
- - !ruby/object:Gem::Version
89
- version: 1.2.0
90
- type: :development
91
- prerelease: false
92
- version_requirements: !ruby/object:Gem::Requirement
93
- requirements:
94
- - - '='
95
- - !ruby/object:Gem::Version
96
- version: 1.2.0
54
+ version: '1.29'
97
55
  - !ruby/object:Gem::Dependency
98
- name: rack
56
+ name: test-unit
99
57
  requirement: !ruby/object:Gem::Requirement
100
58
  requirements:
101
59
  - - "~>"
102
60
  - !ruby/object:Gem::Version
103
- version: '3.0'
61
+ version: '3.5'
104
62
  type: :development
105
63
  prerelease: false
106
64
  version_requirements: !ruby/object:Gem::Requirement
107
65
  requirements:
108
66
  - - "~>"
109
67
  - !ruby/object:Gem::Version
110
- version: '3.0'
68
+ version: '3.5'
111
69
  - !ruby/object:Gem::Dependency
112
- name: rackup
70
+ name: rake-compiler
113
71
  requirement: !ruby/object:Gem::Requirement
114
72
  requirements:
115
73
  - - "~>"
116
74
  - !ruby/object:Gem::Version
117
- version: '2.1'
75
+ version: '1.2'
118
76
  type: :development
119
77
  prerelease: false
120
78
  version_requirements: !ruby/object:Gem::Requirement
121
79
  requirements:
122
80
  - - "~>"
123
81
  - !ruby/object:Gem::Version
124
- version: '2.1'
82
+ version: '1.2'
125
83
  - !ruby/object:Gem::Dependency
126
84
  name: test-cmd.rb
127
85
  requirement: !ruby/object:Gem::Requirement
128
86
  requirements:
129
87
  - - "~>"
130
88
  - !ruby/object:Gem::Version
131
- version: '0.4'
89
+ version: '0.6'
132
90
  type: :development
133
91
  prerelease: false
134
92
  version_requirements: !ruby/object:Gem::Requirement
135
93
  requirements:
136
94
  - - "~>"
137
95
  - !ruby/object:Gem::Version
138
- version: '0.4'
139
- description: A Ruby interface for lockf(3)
96
+ version: '0.6'
97
+ description: Ruby bindings for lockf(3)
140
98
  email:
141
99
  - 0x1eef@protonmail.com
142
100
  executables: []
@@ -145,6 +103,7 @@ extensions:
145
103
  extra_rdoc_files: []
146
104
  files:
147
105
  - ".bundle/config"
106
+ - ".clang-format"
148
107
  - ".github/workflows/tests.yml"
149
108
  - ".gitignore"
150
109
  - ".projectile"
@@ -157,7 +116,6 @@ files:
157
116
  - Rakefile.rb
158
117
  - ext/lockf.rb/extconf.rb
159
118
  - ext/lockf.rb/lockf.c
160
- - ext/lockf.rb/lockf.h
161
119
  - lib/lockf.rb
162
120
  - lib/lockf/version.rb
163
121
  - lockf.rb.gemspec
@@ -190,5 +148,5 @@ requirements: []
190
148
  rubygems_version: 3.5.3
191
149
  signing_key:
192
150
  specification_version: 4
193
- summary: A Ruby interface for lockf(3)
151
+ summary: Ruby bindings for lockf(3)
194
152
  test_files: []
data/ext/lockf.rb/lockf.h DELETED
@@ -1 +0,0 @@
1
- void Init_lockf(void);