- drop no longer needed provides/obsoletes
- update to version 0.4.0:
This release contains major API additions and harmonization of the API
modeling. The latter causes breaking changes.
Bugfixes
- fix bad value for SignalNr::TERM_STOP.
- fix inconsistent state in SubProc when child is killed by a signal.
- fix bugs in the error handling of the pthread API.
Filesystem
- added support for access() and faccessat().
- added support for flock() API.
- added file locking operations in FileDescriptor.
- added for asynchronous signal-driven I/O in FileDescriptor.
- added support for file lease support in FileDescriptor.
- renamed TYPE_MASK and MODE_MASK enum values to avoid preprocessor macro name clashes on some GCC toolchains (e.g. Ubuntu arm cross toolchain).
Signals
- support for sending thread-directed signals.
- add pause() wrapper.
- add sigqueue() variant for sending signals.
- support sigsuspend().
- full support for asynchronous signal handling via sigaction()
harmonize process state information by fully wrapping siginfo_t. This type
is now used in cosmos::proc::wait() as well in asynchronous signal handling
and cosmos::proc::wait_info() and some other locations. This replaces
WaitRes, which was only a partial special-purpose wrapper over siginfo_t.
- added wrapper for sigaltstack().
Threads
- use dedicated ThreadID that is distinct from ProcessID.
ptrace() API
OBS-URL: https://build.opensuse.org/request/show/1253007
OBS-URL: https://build.opensuse.org/package/show/openSUSE:Factory/libcosmos?expand=0&rev=7
This release contains major API additions and harmonization of the API
modeling. The latter causes breaking changes.
Bugfixes
- fix bad value for SignalNr::TERM_STOP.
- fix inconsistent state in SubProc when child is killed by a signal.
- fix bugs in the error handling of the pthread API.
Filesystem
- added support for access() and faccessat().
- added support for flock() API.
- added file locking operations in FileDescriptor.
- added for asynchronous signal-driven I/O in FileDescriptor.
- added support for file lease support in FileDescriptor.
- renamed TYPE_MASK and MODE_MASK enum values to avoid preprocessor macro name clashes on some GCC toolchains (e.g. Ubuntu arm cross toolchain).
Signals
- support for sending thread-directed signals.
- add pause() wrapper.
- add sigqueue() variant for sending signals.
- support sigsuspend().
- full support for asynchronous signal handling via sigaction()
harmonize process state information by fully wrapping siginfo_t. This type
is now used in cosmos::proc::wait() as well in asynchronous signal handling
and cosmos::proc::wait_info() and some other locations. This replaces
WaitRes, which was only a partial special-purpose wrapper over siginfo_t.
- added wrapper for sigaltstack().
Threads
- use dedicated ThreadID that is distinct from ProcessID.
ptrace() API
- basic wrapper around the ptrace() ioctl like call
more advanced type safe class Tracee which covers the individual ptrace requests in a type safe way
OBS-URL: https://build.opensuse.org/package/show/devel:libraries:c_c++/libcosmos?expand=0&rev=18
- Setup obsoletes/provides to cover the renaming of the library SONAME.
- update to first source tarball release v0.3.1. Drop git SCM service.
- change library package name from libcosmos-0_2_0 to libcosmos-0, because it
needs to follow the library's SONAME which is libcosmos.so.0.
- Update to version 0.2.1+gitcb2663e:
* buildsystem: fix bug in passing multiple parameters via CXXFLAGS & friends
* test/thread.cxx: fix potential race condition in isCallerThread()
* buildsystem: passthrough ASAN_OPTIONS
* tests: on unit test error cat logfile to stderr
* bump lib version which now contains memory mapping API
* github action: disable ODR iolation checks in unit tests in sanitizer build
* README.md: add info about recent developments
* check.py: support more fine tuning regarding which configs are built
* tests: mman: disable core dumping for expected SEGFAULT
* check.py: use dedicated buildroot that is cleaned before each config
* LinkLayerAddress: make some exotic protocols optional
* support older toolchains and non-x86 architectures better
* buildsystem.py: be prepared for TERM not existing
* buildsystem.py: satisfy flake8 "missing whitespace after comma"
* check.py: refer to current HEAD, not to master
* .github: add github action workflow file
* global: fix spelling errors in comments and documentation
* mman.hxx: fix doxygen list item indentation
* README: remove mention of memory mappings, which are available by now
* addrinfo test: switch UDP resolve from http to tftp
* feature: add support for memory mapping functionality
* FileBase: add runcate() member function
OBS-URL: https://build.opensuse.org/request/show/1191875
OBS-URL: https://build.opensuse.org/package/show/openSUSE:Factory/libcosmos?expand=0&rev=6
needs to follow the library's SONAME which is libcosmos.so.0.
- Update to version 0.2.1+gitcb2663e:
* buildsystem: fix bug in passing multiple parameters via CXXFLAGS & friends
* test/thread.cxx: fix potential race condition in isCallerThread()
* buildsystem: passthrough ASAN_OPTIONS
* tests: on unit test error cat logfile to stderr
* bump lib version which now contains memory mapping API
* github action: disable ODR iolation checks in unit tests in sanitizer build
* README.md: add info about recent developments
* check.py: support more fine tuning regarding which configs are built
* tests: mman: disable core dumping for expected SEGFAULT
* check.py: use dedicated buildroot that is cleaned before each config
* LinkLayerAddress: make some exotic protocols optional
* support older toolchains and non-x86 architectures better
* buildsystem.py: be prepared for TERM not existing
* buildsystem.py: satisfy flake8 "missing whitespace after comma"
* check.py: refer to current HEAD, not to master
* .github: add github action workflow file
* global: fix spelling errors in comments and documentation
* mman.hxx: fix doxygen list item indentation
* README: remove mention of memory mappings, which are available by now
* addrinfo test: switch UDP resolve from http to tftp
* feature: add support for memory mapping functionality
* FileBase: add runcate() member function
* FileDescriptor: provide default constructor to avoid initialization issues
* thread: ignore destroy_res explicitly for NDEBUG builds
* buildsystem: support NDEBUG build
* buildsystem: support non standard compilers
OBS-URL: https://build.opensuse.org/package/show/devel:libraries:c_c++/libcosmos?expand=0&rev=14
* GroupInfo: fix system include style
* global: use angle bracket includes for libcosmos
* string.hxx: add wide-string variant for to_lower(), to_upper()
* string.hxx. support wide string strip() operation
* byte_order: add default constructor for EndianNumber
- this fixes a broken -debugsource package generation
OBS-URL: https://build.opensuse.org/package/show/devel:libraries:c_c++/libcosmos?expand=0&rev=12
- Update to version 0.2.0+git7f2b8ee:
* formatting: export another definition missing on 32-bit archs
* scripts: use single quotes throughout
* check.py: build all targets
* buildsystem: support disabling doc build
* check.py: select proper root directory for non-libcosmos projects
* buildsystem: use single quotes throughout
* buildsystem: use -fdiagnostics-color=auto instead of colorgcc wrapper
* python files: incorporate Flake8 findings
* check.py: also fun flake8 on Python files
* buildsystem: support including local libraries with fallback to system pkg
* PosixThread: fix race condition in setting m_pthread
* buildsystem: support configuring default library type for project
- Update to version 0.2.0+git33d893b:
* buildsystem: support transparent use of local lib or system lib
OBS-URL: https://build.opensuse.org/request/show/1147055
OBS-URL: https://build.opensuse.org/package/show/openSUSE:Factory/libcosmos?expand=0&rev=3
* formatting: export another definition missing on 32-bit archs
* scripts: use single quotes throughout
* check.py: build all targets
* buildsystem: support disabling doc build
* check.py: select proper root directory for non-libcosmos projects
* buildsystem: use single quotes throughout
* buildsystem: use -fdiagnostics-color=auto instead of colorgcc wrapper
* python files: incorporate Flake8 findings
* check.py: also fun flake8 on Python files
* buildsystem: support including local libraries with fallback to system pkg
* PosixThread: fix race condition in setting m_pthread
* buildsystem: support configuring default library type for project
OBS-URL: https://build.opensuse.org/package/show/devel:libraries:c_c++/libcosmos?expand=0&rev=8
* check: also build 32-bit configurations
* FileDescriptor: fix fcntl(F_DUPFD_CLOEXEC) API
* tests: formatting: use proper format string (triggers warning on 32-bit)
* formatting: properly instantiate on 32-bit machines
* buildsystem: support LDFLAGS extension
* buildsystem: ensure we get a 64-bit off_t on Linux even on 32-bit machines
* clone: fix cast of pidfd pointer for 32-bit platforms
* DirEntry: use off_t for DirPos
OBS-URL: https://build.opensuse.org/package/show/devel:libraries:c_c++/libcosmos?expand=0&rev=2