1. 04 Jan, 2009 1 commit
  2. 16 Dec, 2008 1 commit
  3. 31 Oct, 2008 1 commit
    • Max Kellermann's avatar
      added prefix to header macros · ea515494
      Max Kellermann authored
      "LOG_H" is a macro which is also used by ffmpeg/log.h.  This is
      ffmpeg's fault, because short macros should be reserved for
      applications, but since it's always a good idea to choose prefixed
      macro names, even for applications, we are going to do that in MPD.
      ea515494
  4. 13 Oct, 2008 3 commits
  5. 09 Oct, 2008 3 commits
  6. 08 Oct, 2008 11 commits
  7. 06 Oct, 2008 1 commit
    • Eric Wong's avatar
      directory: simplify list update handling logic · 37a8239f
      Eric Wong authored
      Now the "update" command can be issued multiple times regardless
      of whether the client is in list mode or not.
      
      We serialize the update tasks to prevent updates from trampling
      over each other and will spawn another update task
      once the current one is finished updating and reaped.
      
      Right now we cap the queue size to 32 which is probably enough (I
      bet most people usually run update with no argument anyways);
      but we can make it grow/shrink dynamically if needed.  There'll
      still be a hard-coded limit to prevent DoS attacks, though.
      37a8239f
  8. 29 Sep, 2008 3 commits
  9. 26 Sep, 2008 1 commit
  10. 23 Sep, 2008 4 commits
  11. 07 Sep, 2008 4 commits
    • Max Kellermann's avatar
      pass "struct client" to dbUtils.c, song.c, tag_print.c · dc8b64fd
      Max Kellermann authored
      Don't pass the raw file descriptor around.  This migration patch is
      rather large, because all of the sources have inter dependencies - we
      have to change all of them at the same time.
      dc8b64fd
    • Max Kellermann's avatar
      directory: don't pass "fd" to updateInit() · 8e3c40f0
      Max Kellermann authored
      Again, move error handling to command.c.
      8e3c40f0
    • Max Kellermann's avatar
      directory: don't pass fd to traverseAllIn() · f320c9fa
      Max Kellermann authored
      This patch continues the work of the previous patch: don't pass a file
      descriptor at all to traverseAllIn().  Since this fd was only used to
      report "directory not found" errors, we can easily move that check to
      the caller.  This is a great relief, since it removes the dependency
      on a client connection from a lot of enumeration functions.
      f320c9fa
    • Max Kellermann's avatar
      directory: don't pass fd to traverseAllIn() callbacks · 528be8a0
      Max Kellermann authored
      Database traversal should be generic, and not bound to a client
      connection.  This is the first step: no file descriptor for the
      callback functions forEachSong() and forEachDir().  If a callback
      needs the file descriptor, it has to be passed in the void*data
      pointer somehow; some callbacks might need a new struct for passing
      more than one parameter.  This might look a bit cumbersome right now,
      but our goal is to have a clean API.
      528be8a0
  12. 06 Sep, 2008 1 commit
  13. 12 Apr, 2008 1 commit
    • Max Kellermann's avatar
      clean up CPP includes · c89b358c
      Max Kellermann authored
      Try to only include headers which are really needed.  We should
      particularly check all "headers including other headers".  The
      long-term goal is to have a manageable, small API for plugins
      (decoders, output) without so many mpd internals cluttering the
      namespace.
      
      git-svn-id: https://svn.musicpd.org/mpd/trunk@7319 09075e82-0dd4-0310-85a5-a0d7c8717e4f
      c89b358c
  14. 05 Feb, 2008 1 commit
  15. 24 May, 2007 1 commit
  16. 05 Apr, 2007 1 commit
  17. 20 Aug, 2006 1 commit
  18. 30 Jul, 2006 1 commit
    • Eric Wong's avatar
      interface/connection malloc reductions from mpd-ke · 4cf5d04c
      Eric Wong authored
      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
      4cf5d04c