about summary refs log tree commit homepage
path: root/lib/dtas/unix_server.rb
DateCommit message (Collapse)
2015-01-19update copyright years and links to mailing list archives
The documentation part is managed by the new Documentation/update-copyright script. For the future, the rest may be managed by the update-copyright tool in gnulib
2014-10-18unix_server: fix for infinite loop
Occasionally, killing a sink from an external process could result in an infinite loop due to the lack of close notification from __dst_error (in DTAS::Buffer) up to the top-level event loop. Since it is not easy to notify the top-level event loop, we'll detect closed IOs after-the-fact and retry as needed in a cold rescue path. This fixes an occasional error (usually when using a non-parallel make) in the test suite: TestPlayerIntegration#test_sink_killed_during_play: Timeout::Error: execution expired $HOME/dtas/test/player_integration.rb:57:in `sleep' $HOME/dtas/test/player_integration.rb:57:in `block in wait_pid_dead' $HOME/$RUBY/lib/ruby/2.2.0/timeout.rb:91:in `block in timeout' $HOME/$RUBY/lib/ruby/2.2.0/timeout.rb:35:in `block in catch' $HOME/$RUBY/lib/ruby/2.2.0/timeout.rb:35:in `catch' $HOME/$RUBY/lib/ruby/2.2.0/timeout.rb:35:in `catch' $HOME/$RUBY/lib/ruby/2.2.0/timeout.rb:106:in `timeout' $HOME/dtas/test/player_integration.rb:54:in `wait_pid_dead' test/test_player_integration.rb:42:in `test_sink_killed_during_play'
2014-06-06update copyrights and email address for 2014
I'm still normal, and still trolling, but 80x24.org will be epic :)
2013-12-27player: optimize away some more select calls
This keeps us from doing an extra IO.select when we know the sink buffer is readable (as we just registered a sink as writable).
2013-12-27unix_server: remove unnecessary begin block
We do not need a begin block here, callers will deal with it.
2013-10-13use shorter socket constants for sockets
This is to be compatible with Rubinius, but also works with MRI.
2013-08-29remove "encoding: binary" header use
We don't need it since IO#read(bytes, buf) will convert to ASCII-8BIT anyways. Everywhere else, we ensure path names are already binary. We do this mainly at the client layer before using Shellwords to escape the paths. We also must be careful about parsing output from soxi/avprobe which can show us metadata in whatever encoding is in the file. We must still handle data from parsing command output as binary, as the encoding of file metadata tends to vary. This also should buy us Syck compatibility for Ruby 1.9.3 users on Debian systems where Ruby 1.9.3 still uses Syck.
2013-08-28add license/copyright headers/footers to all files
All files we distribute in the tarball need to have a copyright/license specified for Savannah. We don't need the example state file anymore.
2013-08-25more cleanups for packaging and documentation v0.0.0
Rename COPYRIGHT -> COPYING, as that seems to be the more common name for the GPLv3 license file. Kill all rdoc, since I don't agree with HTML documentation and we do not expose any Ruby APIs.
2013-08-24initial commit