mirror of
https://git.savannah.gnu.org/git/guix.git
synced 2025-01-20 06:37:08 +01:00
3db1a8341c
For some applications, it's important to establish a non-blocking connection rather than just making the socket non-blocking after the connection is established. This is because there is I/O on the socket that will block during the handshake. I've noticed this blocking during the handshake causing issues in the build coordinator for example. This commit adds a new with-store variant to avoid changing the behaviour of with-store/open-connection to ensure that this change can't break anything that depends on the blocking nature of the socket. * guix/store.scm (open-unix-domain-socket, open-inet-socket): Take #:non-blocking? and use SOCK_NONBLOCK when calling socket if appropriate. (connect-to-daemon, open-connection, call-with-store): Take #:non-blocking? and pass it on. (with-store/non-blocking): New syntax rule. * .dir-locals.el (scheme-mode): Add entry for with-store/non-blocking. Change-Id: I8225762b78448bc1f7b698c8de5d736e13f577bf |
||
---|---|---|
.. | ||
build | ||
build-system | ||
import | ||
platforms | ||
scripts | ||
store | ||
tests | ||
android-repo-download.scm | ||
avahi.scm | ||
base16.scm | ||
base32.scm | ||
base64.scm | ||
build-system.scm | ||
bzr-download.scm | ||
cache.scm | ||
channels.scm | ||
ci.scm | ||
colors.scm | ||
combinators.scm | ||
config.scm.in | ||
cpio.scm | ||
cpu.scm | ||
cve.scm | ||
cvs-download.scm | ||
d3.v3.js | ||
deprecation.scm | ||
derivations.scm | ||
describe.scm | ||
diagnostics.scm | ||
discovery.scm | ||
docker.scm | ||
download.scm | ||
elf.scm | ||
ftp-client.scm | ||
gexp.scm | ||
git-authenticate.scm | ||
git-download.scm | ||
git.scm | ||
glob.scm | ||
gnu-maintenance.scm | ||
gnupg.scm | ||
grafts.scm | ||
graph.js | ||
graph.scm | ||
hash.scm | ||
hg-download.scm | ||
http-client.scm | ||
i18n.scm | ||
inferior.scm | ||
ipfs.scm | ||
least-authority.scm | ||
licenses.scm | ||
lint.scm | ||
man-db.scm | ||
memoization.scm | ||
modules.scm | ||
monad-repl.scm | ||
monads.scm | ||
nar.scm | ||
narinfo.scm | ||
openpgp.scm | ||
packages.scm | ||
pki.scm | ||
platform.scm | ||
profiles.scm | ||
profiling.scm | ||
progress.scm | ||
quirks.scm | ||
read-print.scm | ||
records.scm | ||
remote.scm | ||
repl.scm | ||
rpm.scm | ||
scripts.scm | ||
search-paths.scm | ||
self.scm | ||
serialization.scm | ||
sets.scm | ||
ssh.scm | ||
status.scm | ||
store.scm | ||
substitutes.scm | ||
svn-download.scm | ||
swh.scm | ||
tests.scm | ||
transformations.scm | ||
ui.scm | ||
upstream.scm | ||
utils.scm | ||
workers.scm |