• Max Kellermann's avatar
    set the close-on-exec flag on all file descriptors · e3af0032
    Max Kellermann authored
    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.
    e3af0032
Name
Last commit
Last update
..
archive Loading commit data...
cue Loading commit data...
decoder Loading commit data...
encoder Loading commit data...
filter Loading commit data...
input Loading commit data...
mixer Loading commit data...
output Loading commit data...
playlist Loading commit data...
ack.h Loading commit data...
aiff.c Loading commit data...
aiff.h Loading commit data...
archive_api.c Loading commit data...
archive_api.h Loading commit data...
archive_internal.h Loading commit data...
archive_list.c Loading commit data...
archive_list.h Loading commit data...
audio.c Loading commit data...
audio.h Loading commit data...
audio_format.h Loading commit data...
audio_parser.c Loading commit data...
audio_parser.h Loading commit data...
buffer.c Loading commit data...
buffer.h Loading commit data...
chunk.c Loading commit data...
chunk.h Loading commit data...
client.c Loading commit data...
client.h Loading commit data...
client_event.c Loading commit data...
client_expire.c Loading commit data...
client_global.c Loading commit data...
client_idle.c Loading commit data...
client_internal.h Loading commit data...
client_list.c Loading commit data...
client_new.c Loading commit data...
client_process.c Loading commit data...
client_read.c Loading commit data...
client_write.c Loading commit data...
cmdline.c Loading commit data...
cmdline.h Loading commit data...
command.c Loading commit data...
command.h Loading commit data...
compress.c Loading commit data...
compress.h Loading commit data...
conf.c Loading commit data...
conf.h Loading commit data...
crossfade.c Loading commit data...
crossfade.h Loading commit data...
daemon.c Loading commit data...
daemon.h Loading commit data...
database.c Loading commit data...
database.h Loading commit data...
dbUtils.c Loading commit data...
dbUtils.h Loading commit data...
decoder_api.c Loading commit data...
decoder_api.h Loading commit data...
decoder_buffer.c Loading commit data...
decoder_buffer.h Loading commit data...
decoder_command.h Loading commit data...
decoder_control.c Loading commit data...
decoder_control.h Loading commit data...
decoder_internal.c Loading commit data...
decoder_internal.h Loading commit data...
decoder_list.c Loading commit data...
decoder_list.h Loading commit data...
decoder_plugin.c Loading commit data...
decoder_plugin.h Loading commit data...
decoder_print.c Loading commit data...
decoder_print.h Loading commit data...
decoder_thread.c Loading commit data...
decoder_thread.h Loading commit data...
directory.c Loading commit data...
directory.h Loading commit data...
directory_print.c Loading commit data...
directory_print.h Loading commit data...
directory_save.c Loading commit data...
directory_save.h Loading commit data...
dirvec.c Loading commit data...
dirvec.h Loading commit data...
encoder_api.h Loading commit data...
encoder_list.c Loading commit data...
encoder_list.h Loading commit data...
encoder_plugin.h Loading commit data...
event_pipe.c Loading commit data...
event_pipe.h Loading commit data...
exclude.c Loading commit data...
exclude.h Loading commit data...
fd_util.c Loading commit data...
fd_util.h Loading commit data...
fifo_buffer.c Loading commit data...
fifo_buffer.h Loading commit data...
filter_internal.h Loading commit data...
filter_plugin.c Loading commit data...
filter_plugin.h Loading commit data...
filter_registry.c Loading commit data...
filter_registry.h Loading commit data...
gcc.h Loading commit data...
icy_metadata.c Loading commit data...
icy_metadata.h Loading commit data...
icy_server.c Loading commit data...
icy_server.h Loading commit data...
idle.c Loading commit data...
idle.h Loading commit data...
inotify_queue.c Loading commit data...
inotify_queue.h Loading commit data...
inotify_source.c Loading commit data...
inotify_source.h Loading commit data...
inotify_update.c Loading commit data...
inotify_update.h Loading commit data...
input_plugin.h Loading commit data...
input_stream.c Loading commit data...
input_stream.h Loading commit data...
listen.c Loading commit data...
listen.h Loading commit data...
locate.c Loading commit data...
locate.h Loading commit data...
log.c Loading commit data...
log.h Loading commit data...
ls.c Loading commit data...
ls.h Loading commit data...
main.c Loading commit data...
main.h Loading commit data...
mapper.c Loading commit data...
mapper.h Loading commit data...
mixer_all.c Loading commit data...
mixer_all.h Loading commit data...
mixer_api.c Loading commit data...
mixer_api.h Loading commit data...
mixer_control.c Loading commit data...
mixer_control.h Loading commit data...
mixer_list.h Loading commit data...
mixer_plugin.h Loading commit data...
mixer_type.c Loading commit data...
mixer_type.h Loading commit data...
normalize.c Loading commit data...
normalize.h Loading commit data...
notify.c Loading commit data...
notify.h Loading commit data...
output_all.c Loading commit data...
output_all.h Loading commit data...
output_api.h Loading commit data...
output_command.c Loading commit data...
output_command.h Loading commit data...
output_control.c Loading commit data...
output_control.h Loading commit data...
output_init.c Loading commit data...
output_internal.h Loading commit data...
output_list.c Loading commit data...
output_list.h Loading commit data...
output_plugin.h Loading commit data...
output_print.c Loading commit data...
output_print.h Loading commit data...
output_state.c Loading commit data...
output_state.h Loading commit data...
output_thread.c Loading commit data...
output_thread.h Loading commit data...
page.c Loading commit data...
page.h Loading commit data...
path.c Loading commit data...
path.h Loading commit data...
pcm_buffer.h Loading commit data...
pcm_byteswap.c Loading commit data...
pcm_byteswap.h Loading commit data...
pcm_channels.c Loading commit data...
pcm_channels.h Loading commit data...
pcm_convert.c Loading commit data...
pcm_convert.h Loading commit data...
pcm_dither.c Loading commit data...
pcm_dither.h Loading commit data...
pcm_format.c Loading commit data...
pcm_format.h Loading commit data...
pcm_mix.c Loading commit data...
pcm_mix.h Loading commit data...
pcm_prng.h Loading commit data...
pcm_resample.c Loading commit data...
pcm_resample.h Loading commit data...
pcm_resample_fallback.c Loading commit data...
pcm_resample_internal.h Loading commit data...
pcm_resample_libsamplerate.c Loading commit data...
pcm_utils.h Loading commit data...
pcm_volume.c Loading commit data...
pcm_volume.h Loading commit data...
permission.c Loading commit data...
permission.h Loading commit data...
pipe.c Loading commit data...
pipe.h Loading commit data...
player_control.c Loading commit data...
player_control.h Loading commit data...
player_thread.c Loading commit data...
player_thread.h Loading commit data...
playlist.c Loading commit data...
playlist.h Loading commit data...
playlist_control.c Loading commit data...
playlist_edit.c Loading commit data...
playlist_global.c Loading commit data...
playlist_internal.h Loading commit data...
playlist_list.c Loading commit data...
playlist_list.h Loading commit data...
playlist_plugin.h Loading commit data...
playlist_print.c Loading commit data...
playlist_print.h Loading commit data...
playlist_queue.c Loading commit data...
playlist_queue.h Loading commit data...
playlist_save.c Loading commit data...
playlist_save.h Loading commit data...
playlist_state.c Loading commit data...
playlist_state.h Loading commit data...
poison.h Loading commit data...
queue.c Loading commit data...
queue.h Loading commit data...
queue_print.c Loading commit data...
queue_print.h Loading commit data...
queue_save.c Loading commit data...
queue_save.h Loading commit data...
replay_gain.c Loading commit data...
replay_gain.h Loading commit data...
riff.c Loading commit data...
riff.h Loading commit data...
sig_handlers.c Loading commit data...
sig_handlers.h Loading commit data...
socket_util.c Loading commit data...
socket_util.h Loading commit data...
song.c Loading commit data...
song.h Loading commit data...
song_print.c Loading commit data...
song_print.h Loading commit data...
song_save.c Loading commit data...
song_save.h Loading commit data...
song_sticker.c Loading commit data...
song_sticker.h Loading commit data...
song_update.c Loading commit data...
songvec.c Loading commit data...
songvec.h Loading commit data...
state_file.c Loading commit data...
state_file.h Loading commit data...
stats.c Loading commit data...
stats.h Loading commit data...
sticker.c Loading commit data...
sticker.h Loading commit data...
sticker_print.c Loading commit data...
sticker_print.h Loading commit data...
stored_playlist.c Loading commit data...
stored_playlist.h Loading commit data...
strset.c Loading commit data...
strset.h Loading commit data...
tag.c Loading commit data...
tag.h Loading commit data...
tag_ape.c Loading commit data...
tag_ape.h Loading commit data...
tag_id3.c Loading commit data...
tag_id3.h Loading commit data...
tag_internal.h Loading commit data...
tag_pool.c Loading commit data...
tag_pool.h Loading commit data...
tag_print.c Loading commit data...
tag_print.h Loading commit data...
tag_save.c Loading commit data...
tag_save.h Loading commit data...
text_file.c Loading commit data...
text_file.h Loading commit data...
text_input_stream.c Loading commit data...
text_input_stream.h Loading commit data...
timer.c Loading commit data...
timer.h Loading commit data...
tokenizer.c Loading commit data...
tokenizer.h Loading commit data...
update.c Loading commit data...
update.h Loading commit data...
update_internal.h Loading commit data...
update_queue.c Loading commit data...
update_remove.c Loading commit data...
update_walk.c Loading commit data...
uri.c Loading commit data...
uri.h Loading commit data...
utils.c Loading commit data...
utils.h Loading commit data...
volume.c Loading commit data...
volume.h Loading commit data...
zeroconf-avahi.c Loading commit data...
zeroconf-bonjour.c Loading commit data...
zeroconf-internal.h Loading commit data...
zeroconf.c Loading commit data...
zeroconf.h Loading commit data...