More issues:

- sf_open_fd returns in two cases with an error without closing fd
  when close_desc is TRUE, whereas most other cases go though
  psf_open_file which does close it.

  This means a user can't know if they need to close fd on their own
  on error.

- Thread-safety: I see you wrote on
  http://comments.gmane.org/gmane.comp.audio.libsndfile.devel/564

  "SNDFILE handles should not be accessed by multiple threads unless
  you have a locking mechanism around all uses of the handle.
  However, it is possible to open multiple SNDFILE handles to the
  same underlying file and operate on them accross multiple
  threads."

  This would be fine, but there are some global/static variables
  which break thread-safety. So far I found sf_errno, sf_logbuffer,
  sf_syserr which apparently are used only during opening, including
  sf_strerror(NULL) and sf_command(NULL, SFC_GET_LOG_INFO, ...).

  So I conclude opening even different sound files concurrently is
  not thread-safe!

  Anything else? (I'm trying to check the code: There's a number of
  global/static variables, but I suppose many of them are actually
  const and therefore harmless. Actually declaring them "const"
  would help checking thread-safety. A non-const one I found is
  "count" in aiff_ima_decode_block, but doesn't seem to be used
  at all anyway.)


-- 
To UNSUBSCRIBE, email to debian-bugs-dist-requ...@lists.debian.org
with a subject of "unsubscribe". Trouble? Contact listmas...@lists.debian.org

Reply via email to