You cannot select more than 25 topics
Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
fb9ce1054c
The last time I tested set_nonblock() as a fix for the rsync hang, I used F_SETFD rather than F_SETFL, which resulted in no error, but also did not set O_NONBLOCK. Turns out missing O_NONBLOCK was the problem. The rsync hang was due to every context blocking in os.write() waiting for either a parent or child buffer to empty, which was exacerbated by rsync's own pipelining, that allows writes from both sides to proceed even while reads aren't progressing. The hang was due to os.write() on a blocking fd blocking until buffer space is available to complete the write. Partial writes are only supported when O_NONBLOCK is enabled. |
7 years ago | |
---|---|---|
docs | 7 years ago | |
examples | 7 years ago | |
mitogen | 7 years ago | |
tests | 7 years ago | |
.gitignore | 7 years ago | |
README.md | 7 years ago | |
dev_requirements.txt | 7 years ago | |
preamble_size.py | 7 years ago | |
setup.py | 7 years ago |
README.md
Running The Tests
Your computer should have an Internet connection, and the docker
command
line tool should be able to connect to a working Docker daemon (localhost or
elsewhere for OS X etc.) that can run new images.
The IP address of the Docker daemon must allow exposing ports from running containers, e.g. it should not be firewalled or port forwarded.
If in doubt, just install Docker on a Linux box in the default configuration and run the tests there.