summaryrefslogtreecommitdiff
path: root/src/system
AgeCommit message (Collapse)Author
2020-07-23include cleanupMax Kellermann
2020-05-05system/KernelVersion: new libraryMax Kellermann
2020-05-05system/FileDescriptor: move to io/Max Kellermann
2020-03-26replace exit and _exit with std variantsRosen Penev
_exit and std::_Exit are identical, expect the latter is standard C++. Added several functions to the std namespace as a result of headers. Signed-off-by: Rosen Penev <rosenp@gmail.com>
2020-03-16remove gcc_unusedRosen Penev
[[maybe_unused]] (introduced in C++17) is standard C++. https://clang.llvm.org/docs/AttributeReference.html#maybe-unused-unused says that this is equivalent to the GNU unused attribute. Signed-off-by: Rosen Penev <rosenp@gmail.com>
2020-03-16replace noreturn attribute with standard C++ versionRosen Penev
Signed-off-by: Rosen Penev <rosenp@gmail.com>
2020-03-12replace stdint.h with cstdintRosen Penev
The former is deprecated by C++14. The standard says they are the same: The header defines all types and macros the same as the C standard library header<stdint.h>. Signed-off-by: Rosen Penev <rosenp@gmail.com>
2020-03-12replace stdarg.h with cstdargRosen Penev
The former was deprecated in C++14. The Standard says they are the same: The contents of the header<cstdarg>are the same as the C standard library header<stdarg.h>, with the following changes: The restrictions that ISO C places on the second parameter to the va_start macro in header<stdarg.h> are different in this International Standard. The parameter parmN is the rightmost parameter in the variable parameter list of the function definition (the one just before the...).219If the parameter parmN is a pack expansion (17.5.3) or an entity resulting from a lambda capture (8.1.5), the program is ill-formed, no diagnostic required. If the parameter parmN is of a reference type, or of a type that is not compatible with the type that results when passing an argument for which there is no parameter, the behavior is undefined. Also changed va_list to the std:: namespace version, which is the same. Signed-off-by: Rosen Penev <rosenp@gmail.com>
2020-03-12replace signal.h with csignal.hRosen Penev
The former was deprecated with C++14. The standard says they are the same: The contents of the header<csignal>are the same as the C standard library header<signal.h>. Signed-off-by: Rosen Penev <rosenp@gmail.com>
2020-03-12change errno.h to cerrnoRosen Penev
The former is deprecated by C++14. It's also functionally the same. From the standard: 19.4 The header<cerrno>is described in Table 43. Its contents are the same as the POSIX header<errno.h>,except that errno shall be defined as a macro. [Note: The intent is to remain in close alignment with the POSIX standard.] A separate errno value shall be provided for each thread. Signed-off-by: Rosen Penev <rosenp@gmail.com>
2020-03-12replace assert.h with cassertRosen Penev
The former was deprecated with C++14. According to the C++11 and C++17 standards, both files are identical. Signed-off-by: Rosen Penev <rosenp@gmail.com>
2020-02-01*: use `auto`Max Kellermann
2020-01-18copyright year 2020Max Kellermann
2019-12-17io/FileDescriptor: add method FullRead()Max Kellermann
2019-12-16Merge tag 'v0.21.17'Max Kellermann
release v0.21.17
2019-12-04system/Error: add FormatFileNotFound()Max Kellermann
2019-12-04util/PrintException, ...: update copyrightMax Kellermann
2019-12-04system/Error: move code to IsErrno()Max Kellermann
2019-08-19util/PrintException, ...: update copyrightMax Kellermann
2019-08-19system/FileDescriptor: add method IsRegularFile()Max Kellermann
2019-07-12system/Error: move code to IsErrno()Max Kellermann
2019-07-05include cleanups (powered by iwyu)Max Kellermann
2019-06-17Copyright year 2019Max Kellermann
2019-05-23Log: make LogLevel the first parameterMax Kellermann
Prepare for templated functions.
2019-05-08system/Clock, fs/FileInfo: move FILETIME specific code to time/FileTime.hxxMax Kellermann
2019-05-08system/Clock: GetProcessUptimeS() returns std::chrono::durationMax Kellermann
2019-03-08system/ByteOrder: move to util/Max Kellermann
2019-02-27system/UniqueFileDescriptor: add CreatePipeNonBlock()Max Kellermann
2019-02-19fs/io/OutputStream: update include guardMax Kellermann
2019-02-19system/UniqueFileDescriptor: import std::swapMax Kellermann
2019-02-19system/Open: add OpenWriteOnly(), OpenDirectory()Max Kellermann
2019-02-19system/EpollFD: include cleanupMax Kellermann
2018-12-18remove non-block call HyShai
This is similar to https://github.com/MusicPlayerDaemon/MPD/commit/b177bffa6a5f1b69639b6cd759dcb16fdd76e5e2, in that it fixes the Windows issue of connecting to the open socket. Also, the listen_socket is set to AcceptNonBlock after the connection anyways.
2018-11-19check.h: remove obsolete headerMax Kellermann
Since we switched from autotools to Meson in commit 94592c14062d5afc9482d11baa401648082022c0, we don't need to include `config.h` early to properly enable large file support. Meson passes the required macros on the compiler command line instead of defining them in `config.h`. This means we can include `config.h` at any time, whenever we want to check its macros, and there are no ordering constraints.
2018-11-02system/FileDescriptor: check `__linux__` instead of `__linux`Max Kellermann
`__linux` is the deprecated non-standard macros which appears to be not present at all on PowerPC. Closes #398
2018-10-31*: copyright year 2018Max Kellermann
2018-10-14build with Meson instead of autotoolsMax Kellermann
So long, autotools! This is my last MPD related project to migrate away from it. It has its strengths, but also very obvious weaknesses and weirdnesses. Today, many of its quirks are not needed anymore, and are cumbersome and slow. Now welcome our new Meson overlords!
2018-08-22configure.ac: add automake conditional "LINUX"Max Kellermann
2018-08-22system/EpollFD: use class UniqueFileDescriptorMax Kellermann
2018-08-22system/{Epoll,Event,Signal}FD: relicense to BSD-2Max Kellermann
2018-08-22system/EPollFD: rename to EpollFDMax Kellermann
2018-08-22system/UniqueFileDescriptor: make the "int" constructor publicMax Kellermann
2018-08-21system/Open: new UniqueFileDescriptor constructing libraryMax Kellermann
2018-08-21system/FileDescriptor: add openat() wrapperMax Kellermann
2018-08-20system/FileDescriptor: include cleanupMax Kellermann
2018-08-20system/FileDescriptor: pass FileDescriptor to CheckDuplicate()Max Kellermann
2018-08-20net/SocketDescriptor: make eventfd() and signalfd() mandatory on LinuxMax Kellermann
2018-08-20system/FileDescriptor: make inotify_init1() mandatory on LinuxMax Kellermann
2018-08-20system/FileDescriptor: add pipe2() wrapperMax Kellermann
2018-08-20system/FileDescriptor: make pipe2() mandatory on LinuxMax Kellermann