runtime_native_semaphores 1.0.0-beta.5 copy "runtime_native_semaphores: ^1.0.0-beta.5" to clipboard
runtime_native_semaphores: ^1.0.0-beta.5 copied to clipboard

A library for creating and managing named semaphores in Dart using FFI across macOS, Linux, and Windows.

0.0.1 #

  • Initial release
  • See test/semaphore_test.dart for unified usage examples
  • See test/unix_named_semaphore_ffi_bindings_test.dart and test/windows_named_semaphore_ffi_bindings_test.dart for platform-specific usage examples

0.0.2 #

  • Reflect Platform Support in the README.md

0.0.3 #

  • Update README.md with more detailed usage examples, use cases, and background information/references
  • Refine directory structure for more standardized dart code organization

0.0.4 #

  • Leverage the @Native decorator to re-implement sem_open
  • Extend AbiSpecificInteger with the @AbiSpecificIntegerMapping annotation to enablemode_t architecture specific type mappings i.e. UnsignedShort on x86_64 and UnsignedLong on arm64
  • Guidance provided on this dart-sdk issue shout out to @dcharkes for the help!

0.0.5 #

  • Small changes to Pubspec.yaml to reflect platform support

1.0.0-beta.1 #

  • Initial release of the alpha version of the 1.0.0 release
  • Made UnixNamedSemaphore and WindowsNamedSemaphore classes extendable to allow for custom implementations
  • Refactored all classes to be extensible and now support reentrant behavior + counts of locks/unlocks within the same isolate/thread in addition to the initial cross process locking support.
  • Updated unit tests to reflect recursive locking scenarios, and ensure proper implementation of SemaphoreIdentities and SemaphoreCounters
  • TODO: @tsavo-at-pieces Re-Implement WindowsNamedSemaphore to support reentrant locking and intra-isolate counts
  • TODO: @tsavo-at-pieces Implement a clean-up mechanism for stray locks across the OS
  • TODO: @tsavo-at-pieces Implement a way to track lock requests/blocked executions across processes due to current process having yet to unlock itself

1.0.0-beta.2 #

  • Small fix to pass verbose onto the NativeSemaphore constructor
  • TODO: @tsavo-at-pieces Re-Implement WindowsNamedSemaphore to support reentrant locking and intra-isolate counts
  • TODO: @tsavo-at-pieces Implement a clean-up mechanism for stray locks across the OS
  • TODO: @tsavo-at-pieces Implement a way to track lock requests/blocked executions across processes due to current process having yet to unlock itself

1.0.0-beta.3 #

  • Small fix on stray print statements here and there
  • TODO: @tsavo-at-pieces Re-Implement WindowsNamedSemaphore to support reentrant locking and intra-isolate counts
  • TODO: @tsavo-at-pieces Implement a clean-up mechanism for stray locks across the OS
  • TODO: @tsavo-at-pieces Implement a way to track lock requests/blocked executions across processes due to current process having yet to unlock itself

1.0.0-beta.4 #

  • Small adjustments to README.md
  • Small fix in CI/CD workflow to ensure proper testing across all platforms

1.0.0-beta.5 #

  • All tests are now passing on all platforms ?? (Windows, Linux, MacOS)
  • TODODONE: @tsavo-at-pieces Re-Implement WindowsNamedSemaphore to support reentrant locking and intra-isolate counts
  • TODO: @tsavo-at-pieces Implement a clean-up mechanism for stray locks across the OS
  • TODO: @tsavo-at-pieces Implement a way to track lock requests/blocked executions across processes due to current process having yet to unlock itself
  • TODO: Prepare for the 1.0.0 release
7
likes
0
points
2.79k
downloads

Publisher

verified publisherruntime.dev

Weekly Downloads

A library for creating and managing named semaphores in Dart using FFI across macOS, Linux, and Windows.

Homepage
Repository (GitHub)
View/report issues

License

unknown (license)

Dependencies

ffi, meta

More

Packages that depend on runtime_native_semaphores