smart_engine 0.14.0 → 0.15.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: 912e841987ba6da79b04609e0f86580d900676b10711d5e38b614099782702cf
4
- data.tar.gz: 395c81f467a482cde8042dfb207df5aa70b7a865f317fcd068e110b127dfe95e
3
+ metadata.gz: 571c427f764fe322ccc465dbe90d760ffde9ffa324bd55a15e6046da6a18909f
4
+ data.tar.gz: 446a429d3c440bfa0bc1bc16a3abdb58289810d56bd7eec86b66307c59c5227a
5
5
  SHA512:
6
- metadata.gz: '080a49d84507ca934dcf9435bcbe724cf8146167039e1ebbf0a56343249fbd4c39893a79508a0e08826fb9496eb6a721f5e335a0a9b19149263c8a73c4ebf9bf'
7
- data.tar.gz: 0eb86cfe731f1911969025db50560148858f03d8b8842da9c3bac49fbd3c4dfe74c0c86392438c060c2ec43ff0453da8c9fc3eeed4076bc11c772e59c931ee7c
6
+ metadata.gz: 3493139baf67304edaa0fd7db320987b6ed860efc2d80e393a1baa73d590cd0b63e80e0069430bc3d286f7bcf095161ea51782643792ce0a4f3b8dca4e5e9ce5
7
+ data.tar.gz: 7702c746ab952d345e935a40a51d581f8f2ecb81f8f12c867e295813e74df9f08bd7b7db31b644194fe6e5e428026577c33de2e17e37a1287c2f6dd42781a20e
data/CHANGELOG.md CHANGED
@@ -1,6 +1,10 @@
1
1
  # Changelog
2
2
  All notable changes to this project will be documented in this file.
3
3
 
4
+ ## [0.15.0] - 2022-09-30
5
+ ### Added
6
+ - `SmartCore::Engine::ReadWriteLock#write_owned?` - checking that write lock is owned by current thread or not;
7
+
4
8
  ## [0.14.0] - 2022-09-30
5
9
  ### Added
6
10
  - Read/Write locking mechanizm: `SmartCore::Engine::ReadWriteLock`;
data/Gemfile.lock CHANGED
@@ -1,7 +1,7 @@
1
1
  PATH
2
2
  remote: .
3
3
  specs:
4
- smart_engine (0.14.0)
4
+ smart_engine (0.15.0)
5
5
 
6
6
  GEM
7
7
  remote: https://rubygems.org/
data/README.md CHANGED
@@ -76,6 +76,9 @@ lock = SmartCore::Engine::ReadWriteLock.new
76
76
  lock.read_sync { ...some-read-op... } # waits for writer
77
77
  lock.read_sync { ...some-read-op... } # waits for writer
78
78
  lock.write_sync { ... some-write-op... } # waits for all readers and current writer
79
+
80
+ # is write_sync lock is owned by current thread?
81
+ lock.write_owned? # true or false
79
82
  ```
80
83
 
81
84
  ---
@@ -2,6 +2,7 @@
2
2
 
3
3
  # @api public
4
4
  # @since 0.14.0
5
+ # @version 0.15.0
5
6
  class SmartCore::Engine::ReadWriteLock
6
7
  # @return [void]
7
8
  #
@@ -28,6 +29,14 @@ class SmartCore::Engine::ReadWriteLock
28
29
  @active_reader = false
29
30
  end
30
31
 
32
+ # @return [Boolean]
33
+ #
34
+ # @api public
35
+ # @since 0.15.0
36
+ def write_owned?
37
+ @write_lock.owned?
38
+ end
39
+
31
40
  # @param block [Block]
32
41
  # @return [Any]
33
42
  #
@@ -6,7 +6,7 @@ module SmartCore
6
6
  #
7
7
  # @api public
8
8
  # @since 0.1.0
9
- # @version 0.14.0
10
- VERSION = '0.14.0'
9
+ # @version 0.15.0
10
+ VERSION = '0.15.0'
11
11
  end
12
12
  end
metadata CHANGED
@@ -1,7 +1,7 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: smart_engine
3
3
  version: !ruby/object:Gem::Version
4
- version: 0.14.0
4
+ version: 0.15.0
5
5
  platform: ruby
6
6
  authors:
7
7
  - Rustam Ibragimov