79ee8c1c814a156a9460dff29e77f83d7dd8d875
A minor change to the code exposes the timeout parameter of `select()`, which was already in use for CanRead()/CanWrite(). The timeout parameter is used to block the current thread until data (for read) or space (for write) is available on the underlying socket. A timeout of 0 suppresses any blocking (the original methods fix the timeout to 0). The timeout value is supplied in milliseconds as an `unsigned int`; this is converted internally to the equivalent `timeval`. An in-progress addition to my SextetStream input driver is implemented with non-blocking reads on a TCP socket. Without the block+timeout functionality, it must busy-wait for new input. Changing the reads to blocking works during a game but can cause the program to hang when exiting. The changes in this commit provide a solution to both issues without disrupting any existing code.
StepMania
StepMania is an advanced cross-platform rhythm game for home and arcade use.
Advanced cross-platform rhythm game for home and arcade use.
##Installing from Source##
StepMania can be compiled using CMake. More information about using CMake can be found in both the Build directory and CMake's documentation.
##Build Status##
We use Travis as our continuous integration server. The status can be found below.
##Resources##
- Website: http://www.stepmania.com/
- IRC: irc.freenode.net/#stepmania-devs
- Theming Wiki: http://goo.gl/SO7W5
- Lua Documentation for Themes: http://goo.gl/XNiov
##Licensing Terms##
- All of the our source code is under the MIT license.
- Any songs that are included within this repository are under the CC-NC license.
- The MAD library and FFmpeg codecs when built with our code use the GPL license.
Languages
C++
85.7%
Lua
4.3%
C
4.3%
Rich Text Format
2.3%
CMake
1.1%
Other
2%