Path to this page:
./
devel/p5-IPC-Shareable,
Tie a variable to shared memory
Branch: CURRENT,
Version: 1.13nb1,
Package name: p5-IPC-Shareable-1.13nb1,
Maintainer: pkgsrc-usersIPC::Shareable allows you to tie a variable to shared memory making
it easy to share the contents of that variable with other Perl
processes. Scalars, arrays, and hashes can be tied. The variable
being tied may contain arbitrarily complex data structures -
including references to arrays, hashes of hashes, etc.
Required to run:[
lang/perl5]
Required to build:[
pkgtools/cwrappers]
Master sites: (Expand)
Filesize: 50.471 KB
Version history: (Expand)
- (2024-11-16) Updated to version: p5-IPC-Shareable-1.13nb1
- (2023-12-17) Updated to version: p5-IPC-Shareable-1.13
- (2023-07-06) Updated to version: p5-IPC-Shareable-1.06nb2
- (2022-06-28) Updated to version: p5-IPC-Shareable-1.06nb1
- (2021-10-10) Updated to version: p5-IPC-Shareable-1.06
- (2021-07-28) Updated to version: p5-IPC-Shareable-1.05
CVS history: (Expand)
2024-11-16 13:08:07 by Thomas Klausner | Files touched by this commit (2504) |
Log message:
*: recursive bump for perl 5.40
|
2023-12-17 04:41:36 by Makoto Fujiwara | Files touched by this commit (2) | |
Log message:
(devel/p5-IPC-Shareable) Updated 1.06 to 1.13
1.13 2022-10-11
- In singleton(), do a check whether class was sent in. There was a shifting
issue if called with IPC::Shareable::singleton() as opposed to
IPC::Shareable->singleton()
- When an exclusive collision occurs and both 'graceful' and 'warn' are set,
the warning thrown now includes the segment/semaphore key in use. This
makes it easier to clean things up with 'ipcrm'
1.12 2022-03-13
- Add tests in t/07-new.t to test how using tied() against a dereferenced
variable returned from new() allows access to the underlying
IPC::Shareable object
- Reworked how spawn() and unspawn() manage things internally
- POD updates, fixes and clarifications
- Removed spawn() and unspawn(). There's really no need for these as one
can simply create but not destroy
1.11 2022-03-07
- Fix certain tests so they don't throw if we bail early
1.10 2022-03-07
- Fix issue where if segments were created underneath of a parent by an
external process other than the process that created the parent, the
global register wasn't being updated, therefore those segments weren't
being removed when calling clean_up_all()
- All test files now check number of segments before and after the entire
script has run, verifying that all segments were cleaned up ok
- The test suite itself in its entirety makes sure that all segments
created during the suite run are cleaned up properly
- Added CI_TESTING=1 to coverage CI tests
1.09 2022-03-06
- Made 81-fork_dup_rand_keys.t developer only (but still need to figure out
why it only fails on FreeBSD)
1.08 2022-03-04
- Added 'protected' option and clean_up_protected(). If set, the cleanup
methods, nor the automatic 'destroy' functionality will remove the segment
the option was set in, nor any children created underneath of it. A call
to clean_up_protected() is required to remove them
- Updated attribute tests to include all available options
- _shm_key_rand() now checks EXCLUSIVE_CHECK_LIMIT times to find a key for
a free segment. It croaks if not
- Added _shm_key_rand_int() so we can mock it to test the dup random key
checks
- Added build prereq of Mock::Sub to test the random key function
1.07 2022-03-04
- When running in forked environments, _shm_key_rand() was consistently
returning the same 'random' key to each forked process. We've fixed this
issue, and added tests for it (fixed by adding a call to srand() before
rand)
- Move $SIG{CHLD} handlers to spawn() and unspawn() instead of having them
global (fixes #15)
- t/65-seg_size.t fails on 32-bit perls; Add a check and bail if we're on
a perl < 64-bit (fixes #14)
|
2023-07-06 11:43:03 by Thomas Klausner | Files touched by this commit (2483) |
Log message:
*: recursive bump for perl 5.38
|
2022-06-28 13:38:00 by Thomas Klausner | Files touched by this commit (3952) |
Log message:
*: recursive bump for perl 5.36
|
2021-10-26 12:20:11 by Nia Alarie | Files touched by this commit (3016) |
Log message:
archivers: Replace RMD160 checksums with BLAKE2s checksums
All checksums have been double-checked against existing RMD160 and
SHA512 hashes
Could not be committed due to merge conflict:
devel/py-traitlets/distinfo
The following distfiles were unfetchable (note: some may be only fetched
conditionally):
./devel/pvs/distinfo pvs-3.2-solaris.tgz
./devel/eclipse/distinfo eclipse-sourceBuild-srcIncluded-3.0.1.zip
|
2021-10-10 01:45:13 by Wen Heping | Files touched by this commit (2) |
Log message:
Update to 1.06
Upstream changes:
1.06 2021-09-08
- Fix significant bug where at least on MacOS, if we generated a CRC of a
key that was greater than 0x80000000, it would round down the key to that
number exactly, casuing duplicates, and incorrect segment access
- Added new() method, returns a reference (default hash) without having to
do the tie() directly
- Modify t/65-seg_size.t beyond RAM max test to cover varying error messages
on differing OSs
- Renamed t/67-out_of_memory.t as the tests are related to exhausting SHM
slots, not RAM
|
2021-10-07 15:44:44 by Nia Alarie | Files touched by this commit (3017) |
Log message:
devel: Remove SHA1 hashes for distfiles
|
2021-07-28 05:41:00 by Wen Heping | Files touched by this commit (2) | |
Log message:
Update to 1.05
Update DEPENDS
Upstream changes:
1.05 2021-07-16
- Bump prereq version of Test::SharedFork to 0.35
- Added ability to use JSON as the serializer
- Added ipcs()
- Added test to ensure we croak if data size is greater than segment size
- Added 'tidy' attribute, removes unneeded nested structure segments
- In SharedMem, added _key attribute, and added set/get methods
- Changed key generation from using padding, pack and unpack to using
String::CRC32's crc32(), which allows arbitrary, unpadded strings
- Added attributes() allows fetching one, or all of the object's atttributes
- Added 'limit' attribute, by setting false, allows a user to set a segment
size larger than our internal 1GB default
- Cleaned up exception throwing (particularly if seg size eats up all
memory, we throw an appropriate message)
- Display proper exception if we try to exhaust all available shared memory
segments (fixes #3)
1.04 2021-06-28
- Skip unspawn tests for perls with -Duselongdouble, as Storable is not
compatible storing/retrieving such numbers (closes #5)
1.03 2021-06-25
- Add newline to singleton() warn so that it doesn't print out trace info
1.02 2021-06-25
- Remove erroneous listing from MANIFEST
- Work around issue in t/65-seg_size.t where MacOS and FreeBSD don't have
the -i flag to ipcs (thanks for the PR, Roland Walker!)
- Added singleton(), ensures that only a single instance of a script can
run at any given time
- Added tests to ensure we croak() if create is not set and the segment
doesn't yet exist
- Fix POD issue where we stated exclusive returns undef instead of croaking
(fixes #10)
- Change 'perl' shell call to $^X in t/71-unspawn.t (fixes #6)
1.01 2021-06-24
- Added 'graceful' flag option. With exclusive, if a second process
attempts to tie an exclusive segment, we exit gracefully instead of
croaking
1.00 2021-06-09
- Project adopted by Steve Bertrand
- Added global_register() and process_register() to return the
registries of active segments and semaphores
- Added seg() and sem() methods, returns the structure of a shared
memory segment and a sempahore respectively
- Added initial "persist" hash variables. Separate processes (even
multiple files in multiple windows) can share a variable, and it'll
remain available even after all processes exit. The variable will be
re-attached if the same shared segment key is used in subsequent runs
- Reversed order of Changes file
- Removed trace() and debug() code for ease of reading
- Improved exception/error messages, added exception testing, reduced
and minimized the number of exceptions actually uncaught
- Significant POD cleanup
- 100% rewrite of all test files, and added a slew of new ones, all
using Test::More
- Add build requirement of Test::SharedFork to handle the out of
sequence fork() tests in t/35-clean.t and t/30-lock_operations
- Major POD updates
- Added tests to prove that RT 123057 isn't really an issue (ie. segment
size parameter works correctly)
|