Max Kellermann
3d276d50b4
event/PollBackend: use vector::push_back() instead of resize()
2020-10-30 16:35:20 +01:00
Max Kellermann
b1b731340e
event/PollBackend: add Item constructor
2020-10-30 16:32:45 +01:00
Max Kellermann
b9b02b4ff2
event/PollBackend: use unordered_map::find() instead of operator[]
...
The latter creates a new object, but we know that the key already
exists.
2020-10-30 16:25:41 +01:00
Max Kellermann
ab5d23da11
event/PollBackend: use unordered_map::emplace() in Add()
2020-10-30 16:24:32 +01:00
Max Kellermann
0554fe3652
event/PollBackend: use std::size_t
2020-10-30 16:09:29 +01:00
Max Kellermann
b0282fe36f
event/PollGroupWinSelect: add Item constructor
2020-10-30 16:07:23 +01:00
Max Kellermann
69b45e693b
event/WinSelect: use unordered_map::find() instead of operator[]
...
The latter creates a new object, but we know that the key already
exists.
2020-10-30 16:05:25 +01:00
Max Kellermann
9e97acc28d
event/WinSelect: merge duplicate code into ApplyReady()
2020-10-30 15:55:23 +01:00
Max Kellermann
b1e446a931
event/WinSelect: add missing const
to deleted copy ctor/operator
2020-10-30 15:45:29 +01:00
Max Kellermann
938319cd44
event/WinSelect: reorder method prototypes
2020-10-30 15:45:12 +01:00
Max Kellermann
fee29001fa
event/WinSelect: use unordered_map::emplace() in Add()
...
This allow using erase() with iterator, without a key lookup.
2020-10-30 15:32:11 +01:00
Max Kellermann
6d894a1806
event/WinSelect: use SOCKET as std::unordered_map key
2020-10-30 15:25:09 +01:00
Max Kellermann
bb99cf37e3
Merge tag 'v0.22.2' into master
...
release v0.22.2
2020-10-28 17:33:10 +01:00
Max Kellermann
dc432f3ffa
release v0.22.2
v0.22.2
2020-10-28 17:25:33 +01:00
Max Kellermann
37710195ca
meson_options.txt: disable the "smbclient" plugin by default
...
The bug https://bugzilla.samba.org/show_bug.cgi?id=11413 makes MPD
crash after at most a minute of using the plugin. Since this bug is
five years old already and it doesn't look like it will ever be fixed,
all libsmbclient code in MPD is scheduled for removal. For now, the
plugin is disabled by default so people are less likely to hit the
crash bug.
Closes https://github.com/MusicPlayerDaemon/MPD/issues/991
2020-10-28 17:21:27 +01:00
Max Kellermann
7b9295ff99
lib/yajl/Handle: strip newlines from error messages
...
Closes https://github.com/MusicPlayerDaemon/MPD/issues/981
2020-10-28 16:06:52 +01:00
Max Kellermann
5f61d440eb
lib/yajl/Handle: un-inline the throwing code
...
Reduces header dependencies.
2020-10-28 16:02:14 +01:00
Max Kellermann
6bc73a9ebe
util/FormatString: update API documentation
2020-10-28 15:48:42 +01:00
Max Kellermann
1195eb266e
protocol/Ack: remove unused variable ack_domain
2020-10-28 15:47:05 +01:00
Max Kellermann
3562a3e51e
Main: save the state_file on shutdown
...
This got lost in commit 5d597a3646
(v0.21.19), but it was never
noticed because the state_file_interval was way too short due to
commit 3413d1bf23
, fixed recently by commit 27cc7b352d
2020-10-28 15:29:47 +01:00
Max Kellermann
7c47fe746c
event/Loop: AbandonFD() unlinks the SocketEvent
...
Fixes use-after-free bugs causing assertion failures at shutdown,
because all "abandoned" SocketEvents are still in the linked list.
Closes https://github.com/MusicPlayerDaemon/MPD/issues/986
Closes https://github.com/MusicPlayerDaemon/MPD/issues/987
2020-10-28 15:01:32 +01:00
Max Kellermann
65a1c4a016
event/Loop: pass SocketEvent& to AbandonFD()
2020-10-28 14:59:28 +01:00
Max Kellermann
46418d0f2d
event/ServerSocket: remove obsolete API documentation
2020-10-28 14:52:31 +01:00
Max Kellermann
bbfa6fe632
db/simple: purge songs for unavailable decoder plugins on update
2020-10-28 14:36:20 +01:00
Max Kellermann
bf97d13d0b
fs/Traits: add GetPathSuffix()
2020-10-28 14:29:46 +01:00
Max Kellermann
b5673b6333
db/simple/Directory: add pure
attribute
2020-10-28 14:24:58 +01:00
Max Kellermann
ee802867df
db/update/Walk: add code comments
2020-10-28 14:23:39 +01:00
Max Kellermann
ecaa51e322
db/simple: purge special directories for unavailable plugins on update
2020-10-27 19:14:31 +01:00
Max Kellermann
0779333064
db/update/Walk: adjust lamba indent
2020-10-27 19:14:31 +01:00
Max Kellermann
6f1a4a73b7
fs/Traits: add GetFilenameSuffix()
2020-10-27 19:14:31 +01:00
Max Kellermann
945ed2610a
increment version number to 0.22.2
2020-10-27 18:34:39 +01:00
arcnmx
ad585e179f
system/FileDescriptor: fix Duplicate result
...
dup2 returns new_fd on success, not 0
2020-10-20 09:32:43 -07:00
Max Kellermann
8348a1ec8f
event/PollGroup: rename to PollBackend
2020-10-19 14:52:59 +02:00
Max Kellermann
c18e00daa4
event/PollGroup: move event flags to a separate header
...
Reduce header dependencies for SocketEvent.hxx.
2020-10-19 14:48:41 +02:00
Max Kellermann
418ba96334
event/SocketEvent: forbid copying
2020-10-18 20:07:49 +02:00
Max Kellermann
a60e782959
event/Loop: reorder assertions
2020-10-18 20:05:22 +02:00
Max Kellermann
8bab5733d7
event/Loop: add assertions
2020-10-18 20:04:16 +02:00
Max Kellermann
e3270dfd68
event/SocketEvent: use class IntrusiveList<>
2020-10-18 20:02:47 +02:00
Max Kellermann
a14997ffb8
event/Loop: manage all SocketEvents in a linked list
...
Not only those which are "ready".
2020-10-18 20:01:38 +02:00
Max Kellermann
dd94f97572
event/Loop: un-inline AddFD(), ModifyFD()
...
Prepare for adding more code here.
2020-10-18 19:58:42 +02:00
Max Kellermann
7d502fb448
event/Loop: round epoll_wait() timeout up
...
This implements proper rounding, amending commit dcbb9fe07c
2020-10-18 19:58:42 +02:00
Max Kellermann
3ac87bbcda
io/uring/Queue: use IntrusiveList<>
2020-10-18 19:37:54 +02:00
Max Kellermann
f64799622d
event/IdleEvent: use class IntrusiveList<>
2020-10-18 19:28:12 +02:00
Max Kellermann
6f0ad2b6c5
util/IntrusiveList: replacement for boost::intrusive::list
2020-10-18 19:23:34 +02:00
Max Kellermann
b5750afb24
event/IdleEvent: use auto
2020-10-18 19:23:34 +02:00
Max Kellermann
442dd5e955
event/IdleEvent: forbid copying
2020-10-18 19:23:25 +02:00
Max Kellermann
172c2ae1aa
Merge tag 'v0.22.1' into master
...
release v0.22.1
2020-10-17 13:58:36 +02:00
Max Kellermann
d7fcaf33b9
release v0.22.1
v0.22.1
2020-10-17 13:56:12 +02:00
Max Kellermann
6a65b4c305
lib/nfs/patches: disable the snprintf->sprintf_s alias
...
snprintf() is available on mingw, and the libnfs kludge broke the
build with mingw, because sprintf_s() was now both an inline function
and a "dllimport" function (because the macro renamed the inline
function snprintf() to sprintf_s() in mingw's stdio.h).
2020-10-17 13:56:02 +02:00
Max Kellermann
4f0e0af319
Merge branch 'v0.22.x' into master
2020-10-16 19:02:03 +02:00