| Commit message (Collapse) | Author | Files | Lines |
|
After we've been hit by Large File Support problems several times in
the past week (which only occur on 32 bit platforms, which I don't
have), this is yet another attempt to fix the issue.
|
|
Add a "mode" argument to open_cloexec() instead.
|
|
Added the "fd_util" library, which attempts to use the new thread-safe
Linux system calls pipe2(), accept4() and the options O_CLOEXEC,
SOCK_CLOEXEC. Without these, it falls back to FD_CLOEXEC, which is
not thread safe.
This is particularly important for the "pipe" output plugin (and
others, such as JACK/PulseAudio), because we were heavily leaking file
descriptors to child processes.
|
|
Don't hold a file descriptor on root's tty when syslog is used for
logging.
|
|
Don't free an internal configuration value in log_init(). Call
config_get_path() instead of manually calling parsePath().
|
|
|
|
Use GLib the logging functions g_debug(), g_error() instead.
|
|
This updates the copyright header to all be the same, which is
pretty much an update of where to mail request for a copy of the GPL
and the years of the MPD project. This also puts all committers under
'The Music Player Project' umbrella. These entries should go
individually in the AUTHORS file, for consistancy.
|
|
Define the GLib logging domain in the following libraries: conf,
daemon, event_pipe, log.
|
|
|
|
All config_get_block_*() functions should accept constant config_param
pointers.
|
|
Renamed functions, types, variables.
|
|
gcc doesn't know that g_error() never returns. Work around the gcc
warning.
|
|
|
|
Removed GLib logging wrappers which are not used anymore.
|
|
If a log message does not include a newline character, append it.
|
|
|
|
|
|
The log file is duped to STDOUT_FILENO and STDERR_FILENO. No need to
keep another copy of it in out_fd all the time. We only need it once
once in setup_log_output().
|
|
Allow logging to syslog if log_file is configured to "syslog".
|
|
Added log_init_file() and log_init_stdout(), preparing for other
logging targets.
|
|
The logging library currently has 3 constructor functions: initLog(),
open_log_files(), setup_log_output(), called in this order. Merged
the first two.
|
|
|
|
Declare log_threshold as GLogLevelFlags.
|
|
If the user wants the log files with a specific mode, he has to start
MPD with the correct umask. Don't hard-code that.
This fixes a bug: when log cycling failed, MPD would not restore the
old umask.
|
|
Merged code from open_log_files() and cycle_log_files().
|
|
Removed the "error_file" option. There is only one log file now. If
a user wants to see only the errors, he should configure a log_level.
|
|
Make "secure" a log level different from "default". "secure" should be
right between "default" and "verbose". Map "default" to Glib's
"MESSAGE" log level.
|
|
We want to remove gcc.h eventually. This takes care of all the G_GNUC_PRINTF
macros.
|
|
We want to remove gcc.h eventually. This takes care of all the
G_GNUC_NORETURN macros.
|
|
|
|
The threshold was only checked in the deprecated logging functions
(ERROR(), WARNING(), ...). Add the check to the GLib logging handler.
|
|
|
|
When logging to a file, log_charset would be NULL and g_convert()
would abort.
|
|
When logging to the terminal, we should print messages in the system
character set. Convert all messages in this case.
|
|
Use the bool data type for flags.
|
|
Install a default handler which writes to stdout or stderr, and
prepends a time stamp. This looks just like the 0.13.x logger.
|
|
The logging functions from log.h are deprecated, and the code should
use GLib logging instead. Make ERROR(), WARNING() etc. call g_logv()
internally.
|
|
Renamed the variable "logLevel" to "log_threshold".
|
|
The warning buffer is a complex piece of code for no good reason.
Remove it and find a better solution, e.g. open the log file earlier.
|
|
Prefer GLib over utils.h.
|
|
When there are standardized headers, use these instead of the bloated
os_compat.h.
|
|
As usual, include only headers which are really needed.
|
|
I'm really no fan of the warning log, it's too complex
for how little it gets used; but fixing it is another
problem.
|
|
Do explicit casts before comparing signed with unsigned. The one in
log.c actually fixes another warning: in the expanded macro, there may
be a check "logLevel>=0", which is always true.
git-svn-id: https://svn.musicpd.org/mpd/trunk@7230 09075e82-0dd4-0310-85a5-a0d7c8717e4f
|
|
Although it may not happen in mpd code, it is perfectly possible for a
newly allocated file descriptor to be zero. For theoretical
correctness, allow 0.
git-svn-id: https://svn.musicpd.org/mpd/trunk@7194 09075e82-0dd4-0310-85a5-a0d7c8717e4f
|
|
This will make refactoring features easier, especially now that
pthreads support and larger refactorings are on the horizon.
Hopefully, this will make porting to other platforms (even
non-UNIX-like ones for masochists) easier, too.
os_compat.h will house all the #includes for system headers
considered to be the "core" of MPD. Headers for optional
features will be left to individual source files.
git-svn-id: https://svn.musicpd.org/mpd/trunk@7130 09075e82-0dd4-0310-85a5-a0d7c8717e4f
|
|
This way we'll avoid listening on fd=0 and have a better
chance of having fd=0 as /dev/null
git-svn-id: https://svn.musicpd.org/mpd/trunk@6852 09075e82-0dd4-0310-85a5-a0d7c8717e4f
|
|
(yes, it helps to actually compile code before committing it)
git-svn-id: https://svn.musicpd.org/mpd/trunk@6851 09075e82-0dd4-0310-85a5-a0d7c8717e4f
|
|
We redirect stdin to /dev/null to work around a libao bug, but
this bug has been fixed in libao since 2003 (according to jat).
However, there are likely other bugs in other libraries (and
even our code!) that handle fd=0 incorrectly and I'd rather not
take the risk[1]. So So it's easiest to just keep
fd=0==/dev/null for now...
[1] - I've seen several of these myself...
git-svn-id: https://svn.musicpd.org/mpd/trunk@6849 09075e82-0dd4-0310-85a5-a0d7c8717e4f
|