| Commit message (Collapse) | Author | Age |
|
|
|
|
|
|
|
|
|
|
|
| |
The intent is to make 'clone' behave a lot more like 'primitive-fork', which
calls clone(2) with SIGCHLD, CLONE_CHILD_CLEARTID, and CLONE_CHILD_SETTID
flags. Notably, running 'clone' at the REPL without these flags would break
the REPL beyond repair.
* guix/build/syscalls.scm (CLONE_CHILD_CLEARTID, CLONE_CHILD_SETTID): New
variables.
* gnu/build/linux-container.scm (namespaces->bit-mask): Add
CLONE_CHILD_CLEARTID and CLONE_CHILD_SETTID to bit mask.
|
|
|
|
| |
* guix/build/syscalls.scm (clone): Catch -1 return value and throw error.
|
|
|
|
|
|
|
|
| |
On systems with a glibc prior to 2.14, the 'setns' function is not available.
Thanks to Eric Bavier for reporting the issue.
* guix/build/syscalls.scm (setns): Wrap with 'false-if-exception'.
|
|
|
|
|
|
|
|
|
|
|
|
| |
Based on discussions with Rohan Prinja <rohan.prinja@gmail.com>.
* guix/build/syscalls.scm (<interface>): New record type.
(write-interface, values->interface, unfold-interface-list,
network-interfaces, free-ifaddrs): New procedures.
(ifaddrs): New C struct.
(%struct-ifaddrs-type, %sizeof-ifaddrs): New macros.
* tests/syscalls.scm ("network-interfaces returns one or more interfaces",
"network-interfaces returns \"lo\""): New tests.
|
|
|
|
|
|
| |
* guix/build/syscalls.scm (alignof*, align): New macros.
(write-types, read-types): Use 'align' to compute the actual offset to
read/write a value of TYPE0.
|
|
|
|
|
|
| |
* guix/build/syscalls.scm (PF_PACKET, AF_PACKET): New variables.
(read-socket-address): Make 'index' optional. Return (vector FAMILY) when
FAMILY is neither AF_INET nor AF_INET6.
|
|
|
|
| |
* guix/build/syscalls.scm (read-type): Add special-case for when TYPE is '*.
|
|
|
|
|
|
|
|
|
|
|
|
| |
* guix/build/syscalls.scm (network-interfaces): Rename to...
(network-interface-names): ... this.
(all-network-interfaces): Rename to...
(all-network-interface-names): ... this.
* gnu/services/networking.scm (dhcp-client-service): Adjust accordingly.
* tests/syscalls.scm ("all-network-interfaces"): Rename to...
("all-network-interface-names"): ... this, and adjust accordingly.
("network-interfaces"): Rename to...
("network-interface-names"): ... this, and adjust accordingly.
|
|
|
|
|
|
|
|
|
| |
* guix/build/syscalls.scm (read-types): Add RETURN and VALUES parameters.
(define-c-struct): Add WRAP-FIELDS parameter and pass it to 'read-types'.
(sockaddr-in, sockaddr-in6): Add first argument that uses
'make-socket-address'.
(read-socket-address): Remove 'match' on the result of 'read-sockaddr-in'
and 'read-sockaddr-in6'.
|
|
|
|
|
| |
* guix/build/syscalls.scm (pivot-root): New procedure.
* tests/syscalls.scm ("pivot-root"): New test.
|
|
|
|
|
|
|
| |
* guix/build/syscalls.scm (setns): New procedure.
* tests/syscalls.scm ("setns"): New test.
squash: setns
|
|
|
|
|
|
|
| |
* guix/build/syscalls.scm (clone): New procedure.
(CLONE_NEWNS, CLONE_NEWUTS, CLONE_NEWIPC, CLONE_NEWUSER, CLONE_NEWPID,
CLONE_NEWNET): New variables.
* tests/syscalls.scm ("clone"): New test.
|
|
|
|
|
| |
* guix/build/syscalls.scm (mkdtemp!): New procedure.
* tests/syscalls.scm ("mkdtemp!"): New test.
|
|
|
|
|
| |
* guix/build/syscalls.scm (MNT_FORCE, MNT_DETACH, MNT_EXPIRE)
(UMOUNT_NOFOLLOW): New variables.
|
|
|
|
|
| |
* guix/build/syscalls.scm (MS_NOSUID, MS_NODEV, MS_NOEXEC, MS_STRICTATIME):
New variables.
|
|
|
|
|
| |
* gnu/services/base.scm (swap-service)[start, stop]: Use 'restart-on-EINTR'.
* guix/build/syscalls.scm (swapoff): Fix typo in 'throw' arguments.
|
|
|
|
|
| |
* guix/build/syscalls.scm (call-with-restart-on-EINTR): New procedure.
(restart-on-EINTR): New macro.
|
|
|
|
| |
* guix/build/syscalls.scm (set-network-interface-up): New procedure.
|
|
|
|
|
|
|
|
|
|
| |
Fixes <http://bugs.gnu.org/19491>.
* gnu/build/linux-boot.scm (mount-root-file-system): Make /root/etc/mtab
a symlink to /proc/self/mounts.
* gnu/build/file-systems.scm (mount-file-system): Don't update /etc/mtab.
* guix/build/syscalls.scm (mount, umount): Have #:update-mtab? default to
#f.
|
|
|
|
|
|
|
|
|
|
|
| |
* guix/build/syscalls.scm (sizeof*, type-size, write-type, write-types,
read-type, read-types, define-c-struct): New macros.
(SIOCSIFFLAGS, SIOCGIFADDR, SIOCSIFADDR): New variables.
(sockaddr-in, sockaddr-in6): New C structs.
(write-socket-address!, read-socket-address,
set-network-interface-flags, set-network-interface-address,
network-interface-address, configure-network-interface): New
procedures.
|
|
|
|
|
| |
* guix/build/syscalls.scm (remove-from-mtab): Replace "fstab" with
"mtab".
|
|
|
|
|
| |
* guix/build/syscalls.scm (mount-points): New procedure.
* tests/syscalls.scm ("mount-points"): New test.
|
|
|
|
|
|
| |
* guix/build/syscalls.scm (%interface-line): Remove whitespace in rest
pattern. (There's no extra whitespace after the colon with Linux
2.6.32.)
|
|
|
|
|
|
| |
* guix/build/syscalls.scm (swapon, swapoff): New procedures.
* tests/syscalls.scm ("swapon, ENOENT/EPERM", "swapoff, EINVAL/EPERM"):
New tests.
|
|
|
|
|
|
|
|
|
| |
* guix/build/syscalls.scm (network-interfaces): Update docstring.
(%interface-line): New variable.
(all-network-interfaces): New procedure.
* tests/syscalls.scm ("all-network-interfaces"): New test.
("network-interfaces"): Change to make sure the result is a subset
of (all-network-interfaces).
|
|
|
|
|
|
|
|
|
| |
* guix/build/syscalls.scm (SIOCGIFFLAGS, IFF_UP, IFF_BROADCAST,
IFF_LOOPBACK, IF_NAMESIZE): New variables.
(network-interface-flags, loopback-network-interface?): New
procedures.
* tests/syscalls.scm ("network-interface-flags",
"loopback-network-interface?"): New tests.
|
|
|
|
|
|
|
|
| |
* guix/build/syscalls.scm (SIOCGIFCONF, ifconf-struct,
ifreq-struct-size): New variables.
(%ioctl, bytevector->string-list, network-interfaces): New
procedures.
* tests/syscalls.scm ("network-interfaces"): New test.
|
|
|
|
| |
* guix/build/syscalls.scm (kernel?, processes): New procedures.
|
|
* guix/build/syscalls.scm, tests/syscalls.scm: New files.
* Makefile.am (MODULES): Add guix/build/syscalls.scm.
(SCM_TESTS): Add tests/syscalls.scm.
* guix/utils.scm (%libc-errno-pointer, errno): Remove; take from (guix
build syscalls).
|