9.37 Release
9.37 - Released 5/2/2024
- Implemented the ustar extension in TarFileWriter to support file paths
and linked-file paths up to 256 characters in length. - Implemented the pax extension in TarFileWriter to support file paths
and linked-file paths of unlimited length. - Added CPut*() convenience methods to the Python Message class.
- Updated the snoopsharedmem to use more sophisticated argument parsing.
- Updated the snoopsharedmem to have "delay=N" and "clear" options.
- Added a GetThreadPriorityName() convenience-method to the Thread class.
- Added a MUSCLE_AVOID_THREAD_PRIORITIES flag that can be added to the
compile-line to turn all set-thread-priority calls into no-ops. - Added SetThreadScheduler()/GetThreadScheduler()/GetThreadSchedulerName()
methods to the Thread class to support Linux's SCHED_FIFO, etc.
- Updated the Python2 and Python3 message.py classes so that GetFieldItem()
and the Get*() methods now take an optional (defaultValue) argument that
specifies what should be returned if the requested item is not present
in the Message. - Removed the option for MUSCLE_NODISCARD macro to expand to
__attribute__((warn_unused_result))
under pre-C++17 codebases,
as that implementation warns even when an explicit (void) cast
is employed, causing too much visual noise to be useful. - Replaced calls to newnothrow with calls to new, to simplify the
code given fact that in modern OS's newnothrow's successful return
doesn't actually mean the RAM is available anyway. - Added RoundUp() versions of all the TimeUnitConversion functions
(e.g. added MicrosToMillisRoundUp() to complement MicrosToMillis()) - Modified the MUSCLE_USE_POLL and MUSCLE_USE_EPOLL implementations of
SocketMultiplexer to round up to the nearest millisecond when computing
timeout-times (instead of rounding down, since slightly-early-wakeups
are worse than slightly-late-wakeups)