music player daemon (fork)
4cf5d04ca1
This patch massively reduces the amount of heap allocations at the interface/command layer. Most commands with minimal output should not allocate memory from the heap at all. Things like repeatedly polling status, currentsong, and volume changes should be faster as a result, and more importantly, not a source of memory fragmentation. These changes should be safe in that there's no way for a remote-client to corrupt memory or otherwise do bad stuff to MPD, but an extra set of eyes to review would be good. Of course there's never any warranty :) No longer do we use FILE * structures in the interface, which means we don't have to allocate any new memory for most connections. Now, before you go on about losing the buffering that FILE * +implies+, remember that myfprintf() never took advantage of any of the stdio buffering features. To reduce the diff and make bugs easier to spot in the diff, I've kept myfprintf in places where we write to files (and not network interfaces). Expect myfprintf to go away entirely soon (we'll use fprintf for writing regular files). git-svn-id: https://svn.musicpd.org/mpd/trunk@4483 09075e82-0dd4-0310-85a5-a0d7c8717e4f |
||
---|---|---|
doc | ||
m4 | ||
scripts | ||
src | ||
AUTHORS | ||
autogen.sh | ||
ChangeLog | ||
configure.ac | ||
COPYING | ||
INSTALL | ||
Makefile.am | ||
README | ||
TODO | ||
UPGRADING |
Music Player Daemon (MPD) http://www.musicpd.org A daemon for playing music (mp3, ogg vorbis, and flac). Music is played through the server's audio device. The daemon stores info about all available music, and this info can be easily searched and retrieved. Player control, info retrieval, and playlist management can all be managed remotely. To install MPD, see INSTALL. MPD includes 3 libraries in the source. libid3tag and libmad are released under the GPL and copyrighted by Robert Leslie (http://www.underbit.com/products/mad). mp4ff is released under the GPL and copyrighted by M. Bakker, Ahead Software AG (http://www.nero.com) and is distributed as a part of the FAAD2 - Freeware Advance Audio (AAC) Decoder. MPD is released under the GNU Public License. You should have received a copy of the GNU General Public License along with this program; if not, write to the Free Software Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA For the full license, see COPYING.