• Denis Krjuchkov's avatar
    Win32Main.cxx: more clean shutdown · abb0fcb2
    Denis Krjuchkov authored
    This change fixes two issues:
    
    1) console_handler is called from a separate thread.
       Thread-safe primitive is required for correct operation.
    
    2) If console_handler returns TRUE our process is immediately terminated.
       We use Sleep() to give main thread an opportunity to shutdown correctly.
    abb0fcb2
Name
Last commit
Last update
..
AudioCompress Loading commit data...
archive Loading commit data...
cue Loading commit data...
db Loading commit data...
decoder Loading commit data...
dsd2pcm Loading commit data...
encoder Loading commit data...
event Loading commit data...
filter Loading commit data...
input Loading commit data...
mixer Loading commit data...
output Loading commit data...
playlist Loading commit data...
protocol Loading commit data...
thread Loading commit data...
util Loading commit data...
win Loading commit data...
AllCommands.cxx Loading commit data...
AllCommands.hxx Loading commit data...
Client.cxx Loading commit data...
Client.hxx Loading commit data...
ClientEvent.cxx Loading commit data...
ClientExpire.cxx Loading commit data...
ClientFile.cxx Loading commit data...
ClientFile.hxx Loading commit data...
ClientGlobal.cxx Loading commit data...
ClientIdle.cxx Loading commit data...
ClientIdle.hxx Loading commit data...
ClientInternal.hxx Loading commit data...
ClientList.cxx Loading commit data...
ClientList.hxx Loading commit data...
ClientMessage.cxx Loading commit data...
ClientMessage.hxx Loading commit data...
ClientNew.cxx Loading commit data...
ClientProcess.cxx Loading commit data...
ClientRead.cxx Loading commit data...
ClientSubscribe.cxx Loading commit data...
ClientSubscribe.hxx Loading commit data...
ClientWrite.cxx Loading commit data...
CommandError.cxx Loading commit data...
CommandError.hxx Loading commit data...
CommandLine.cxx Loading commit data...
CommandLine.hxx Loading commit data...
CommandListBuilder.cxx Loading commit data...
CommandListBuilder.hxx Loading commit data...
ConfigFile.cxx Loading commit data...
CrossFade.cxx Loading commit data...
CrossFade.hxx Loading commit data...
DatabaseCommands.cxx Loading commit data...
DatabaseCommands.hxx Loading commit data...
DatabaseGlue.cxx Loading commit data...
DatabaseGlue.hxx Loading commit data...
DatabaseHelpers.cxx Loading commit data...
DatabaseHelpers.hxx Loading commit data...
DatabaseLock.cxx Loading commit data...
DatabaseLock.hxx Loading commit data...
DatabasePlaylist.cxx Loading commit data...
DatabasePlaylist.hxx Loading commit data...
DatabasePlugin.hxx Loading commit data...
DatabasePrint.cxx Loading commit data...
DatabasePrint.hxx Loading commit data...
DatabaseQueue.cxx Loading commit data...
DatabaseQueue.hxx Loading commit data...
DatabaseRegistry.cxx Loading commit data...
DatabaseRegistry.hxx Loading commit data...
DatabaseSave.cxx Loading commit data...
DatabaseSave.hxx Loading commit data...
DatabaseSelection.cxx Loading commit data...
DatabaseSelection.hxx Loading commit data...
DatabaseSimple.hxx Loading commit data...
DatabaseVisitor.hxx Loading commit data...
DecoderAPI.cxx Loading commit data...
DecoderControl.cxx Loading commit data...
DecoderControl.hxx Loading commit data...
DecoderInternal.cxx Loading commit data...
DecoderInternal.hxx Loading commit data...
DecoderPrint.cxx Loading commit data...
DecoderPrint.hxx Loading commit data...
DecoderThread.cxx Loading commit data...
DecoderThread.hxx Loading commit data...
Directory.cxx Loading commit data...
Directory.hxx Loading commit data...
DirectorySave.cxx Loading commit data...
DirectorySave.hxx Loading commit data...
ExcludeList.cxx Loading commit data...
ExcludeList.hxx Loading commit data...
GlobalEvents.cxx Loading commit data...
GlobalEvents.hxx Loading commit data...
IOThread.cxx Loading commit data...
IOThread.hxx Loading commit data...
IcyMetaDataParser.cxx Loading commit data...
IcyMetaDataParser.hxx Loading commit data...
IdTable.hxx Loading commit data...
Idle.cxx Loading commit data...
Idle.hxx Loading commit data...
InotifyQueue.cxx Loading commit data...
InotifyQueue.hxx Loading commit data...
InotifySource.cxx Loading commit data...
InotifySource.hxx Loading commit data...
InotifyUpdate.cxx Loading commit data...
InotifyUpdate.hxx Loading commit data...
InputInit.cxx Loading commit data...
InputInit.hxx Loading commit data...
InputRegistry.cxx Loading commit data...
InputRegistry.hxx Loading commit data...
InputStream.cxx Loading commit data...
Listen.cxx Loading commit data...
Listen.hxx Loading commit data...
Log.cxx Loading commit data...
Log.hxx Loading commit data...
Main.cxx Loading commit data...
Main.hxx Loading commit data...
Mapper.cxx Loading commit data...
Mapper.hxx Loading commit data...
MessageCommands.cxx Loading commit data...
MessageCommands.hxx Loading commit data...
MixerAll.cxx Loading commit data...
MixerAll.hxx Loading commit data...
MusicBuffer.cxx Loading commit data...
MusicBuffer.hxx Loading commit data...
MusicChunk.cxx Loading commit data...
MusicChunk.hxx Loading commit data...
MusicPipe.cxx Loading commit data...
MusicPipe.hxx Loading commit data...
OtherCommands.cxx Loading commit data...
OtherCommands.hxx Loading commit data...
OutputAll.cxx Loading commit data...
OutputAll.hxx Loading commit data...
OutputCommand.cxx Loading commit data...
OutputCommand.hxx Loading commit data...
OutputCommands.cxx Loading commit data...
OutputCommands.hxx Loading commit data...
OutputControl.cxx Loading commit data...
OutputControl.hxx Loading commit data...
OutputError.hxx Loading commit data...
OutputFinish.cxx Loading commit data...
OutputInit.cxx Loading commit data...
OutputList.cxx Loading commit data...
OutputList.hxx Loading commit data...
OutputPlugin.cxx Loading commit data...
OutputPrint.cxx Loading commit data...
OutputPrint.hxx Loading commit data...
OutputState.cxx Loading commit data...
OutputState.hxx Loading commit data...
OutputThread.cxx Loading commit data...
OutputThread.hxx Loading commit data...
Partition.hxx Loading commit data...
Permission.cxx Loading commit data...
Permission.hxx Loading commit data...
PlayerCommands.cxx Loading commit data...
PlayerCommands.hxx Loading commit data...
PlayerControl.cxx Loading commit data...
PlayerControl.hxx Loading commit data...
PlayerThread.cxx Loading commit data...
PlayerThread.hxx Loading commit data...
Playlist.cxx Loading commit data...
Playlist.hxx Loading commit data...
PlaylistAny.cxx Loading commit data...
PlaylistAny.hxx Loading commit data...
PlaylistCommands.cxx Loading commit data...
PlaylistCommands.hxx Loading commit data...
PlaylistControl.cxx Loading commit data...
PlaylistDatabase.cxx Loading commit data...
PlaylistDatabase.hxx Loading commit data...
PlaylistEdit.cxx Loading commit data...
PlaylistFile.cxx Loading commit data...
PlaylistFile.hxx Loading commit data...
PlaylistGlobal.cxx Loading commit data...
PlaylistGlobal.hxx Loading commit data...
PlaylistInfo.hxx Loading commit data...
PlaylistMapper.cxx Loading commit data...
PlaylistMapper.hxx Loading commit data...
PlaylistPrint.cxx Loading commit data...
PlaylistPrint.hxx Loading commit data...
PlaylistQueue.cxx Loading commit data...
PlaylistQueue.hxx Loading commit data...
PlaylistSave.cxx Loading commit data...
PlaylistSave.hxx Loading commit data...
PlaylistSong.cxx Loading commit data...
PlaylistSong.hxx Loading commit data...
PlaylistState.cxx Loading commit data...
PlaylistState.hxx Loading commit data...
PlaylistVector.cxx Loading commit data...
PlaylistVector.hxx Loading commit data...
Queue.cxx Loading commit data...
Queue.hxx Loading commit data...
QueueCommands.cxx Loading commit data...
QueueCommands.hxx Loading commit data...
QueuePrint.cxx Loading commit data...
QueuePrint.hxx Loading commit data...
QueueSave.cxx Loading commit data...
QueueSave.hxx Loading commit data...
ReplayGainConfig.cxx Loading commit data...
ReplayGainInfo.cxx Loading commit data...
SignalHandlers.cxx Loading commit data...
SignalHandlers.hxx Loading commit data...
Song.cxx Loading commit data...
SongFilter.cxx Loading commit data...
SongFilter.hxx Loading commit data...
SongPrint.cxx Loading commit data...
SongPrint.hxx Loading commit data...
SongSave.cxx Loading commit data...
SongSave.hxx Loading commit data...
SongSticker.cxx Loading commit data...
SongSticker.hxx Loading commit data...
SongUpdate.cxx Loading commit data...
StateFile.cxx Loading commit data...
StateFile.hxx Loading commit data...
Stats.cxx Loading commit data...
StickerCommands.cxx Loading commit data...
StickerCommands.hxx Loading commit data...
StickerDatabase.cxx Loading commit data...
StickerDatabase.hxx Loading commit data...
StickerPrint.cxx Loading commit data...
StickerPrint.hxx Loading commit data...
Tag.cxx Loading commit data...
TagInternal.hxx Loading commit data...
TagNames.c Loading commit data...
TagPool.cxx Loading commit data...
TagPool.hxx Loading commit data...
TagPrint.cxx Loading commit data...
TagPrint.hxx Loading commit data...
TagSave.cxx Loading commit data...
TagSave.hxx Loading commit data...
TextFile.cxx Loading commit data...
TextFile.hxx Loading commit data...
TimePrint.cxx Loading commit data...
TimePrint.hxx Loading commit data...
UpdateArchive.cxx Loading commit data...
UpdateArchive.hxx Loading commit data...
UpdateContainer.cxx Loading commit data...
UpdateContainer.hxx Loading commit data...
UpdateDatabase.cxx Loading commit data...
UpdateDatabase.hxx Loading commit data...
UpdateGlue.cxx Loading commit data...
UpdateGlue.hxx Loading commit data...
UpdateIO.cxx Loading commit data...
UpdateIO.hxx Loading commit data...
UpdateInternal.hxx Loading commit data...
UpdateQueue.cxx Loading commit data...
UpdateQueue.hxx Loading commit data...
UpdateRemove.cxx Loading commit data...
UpdateRemove.hxx Loading commit data...
UpdateSong.cxx Loading commit data...
UpdateSong.hxx Loading commit data...
UpdateWalk.cxx Loading commit data...
UpdateWalk.hxx Loading commit data...
Volume.cxx Loading commit data...
Volume.hxx Loading commit data...
Win32Main.cxx Loading commit data...
ack.h Loading commit data...
aiff.c Loading commit data...
aiff.h Loading commit data...
ape.c Loading commit data...
ape.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...
archive_plugin.c Loading commit data...
archive_plugin.h Loading commit data...
audio_check.c Loading commit data...
audio_check.h Loading commit data...
audio_config.c Loading commit data...
audio_config.h Loading commit data...
audio_format.c Loading commit data...
audio_format.h Loading commit data...
audio_parser.c Loading commit data...
audio_parser.h Loading commit data...
check.h Loading commit data...
clock.c Loading commit data...
clock.h Loading commit data...
command.h Loading commit data...
conf.h Loading commit data...
daemon.c Loading commit data...
daemon.h Loading commit data...
db_error.h 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_error.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...
despotify_utils.c Loading commit data...
despotify_utils.h Loading commit data...
dummy.cxx 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...
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_config.c Loading commit data...
filter_config.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...
gerror.h Loading commit data...
glib_compat.h Loading commit data...
glib_socket.h Loading commit data...
growing_fifo.c Loading commit data...
growing_fifo.h Loading commit data...
icy_server.c Loading commit data...
icy_server.h Loading commit data...
input_internal.c Loading commit data...
input_internal.h Loading commit data...
input_plugin.h Loading commit data...
input_stream.h Loading commit data...
io_error.h Loading commit data...
ls.cxx Loading commit data...
ls.hxx 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...
mpd_error.h Loading commit data...
notify.cxx Loading commit data...
notify.hxx Loading commit data...
open.h Loading commit data...
output_api.h Loading commit data...
output_internal.h Loading commit data...
output_plugin.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.c Loading commit data...
pcm_buffer.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_dsd.c Loading commit data...
pcm_dsd.h Loading commit data...
pcm_dsd_usb.c Loading commit data...
pcm_dsd_usb.h Loading commit data...
pcm_export.c Loading commit data...
pcm_export.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_pack.c Loading commit data...
pcm_pack.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...
playlist_error.h Loading commit data...
playlist_list.c Loading commit data...
playlist_list.h Loading commit data...
playlist_plugin.h Loading commit data...
poison.h Loading commit data...
refcount.h Loading commit data...
replay_gain_ape.c Loading commit data...
replay_gain_ape.h Loading commit data...
replay_gain_config.h Loading commit data...
replay_gain_info.h Loading commit data...
resolver.c Loading commit data...
resolver.h Loading commit data...
riff.c Loading commit data...
riff.h Loading commit data...
server_socket.c Loading commit data...
server_socket.h Loading commit data...
socket_util.c Loading commit data...
socket_util.h Loading commit data...
song.h Loading commit data...
song_sort.c Loading commit data...
song_sort.h Loading commit data...
stats.h Loading commit data...
string_util.c Loading commit data...
string_util.h Loading commit data...
tag.h Loading commit data...
tag_ape.c Loading commit data...
tag_ape.h Loading commit data...
tag_file.c Loading commit data...
tag_file.h Loading commit data...
tag_handler.c Loading commit data...
tag_handler.h Loading commit data...
tag_id3.c Loading commit data...
tag_id3.h Loading commit data...
tag_rva2.c Loading commit data...
tag_rva2.h Loading commit data...
tag_table.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...
uri.c Loading commit data...
uri.h Loading commit data...
utils.c Loading commit data...
utils.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...