aboutsummaryrefslogtreecommitdiff
path: root/gnu/packages/c.scm
diff options
context:
space:
mode:
authorChristopher Baines <mail@cbaines.net>2024-05-11 17:53:20 +0100
committerChristopher Baines <mail@cbaines.net>2024-05-13 19:31:17 +0100
commit3db1a8341c815af3673c367518fbb193f5592864 (patch)
treee598b06a59d95c4943ec7983d2605fbd3fa2c23c /gnu/packages/c.scm
parent1632fd0f1b1ef6e55e495161d4a056d7164b8581 (diff)
downloadguix-3db1a8341c815af3673c367518fbb193f5592864.tar
guix-3db1a8341c815af3673c367518fbb193f5592864.tar.gz
store: Add with-store/non-blocking.
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
Diffstat (limited to 'gnu/packages/c.scm')
0 files changed, 0 insertions, 0 deletions