Steven Engler

Results 136 comments of Steven Engler

The issue is with [`Curl_resolver_getsock()`](https://github.com/curl/curl/blob/f3294d9d86e6a7915a967efff2842089b8b0d071/lib/asyn-thread.c#L586), which updates one of the timeouts in the timeout splay tree (`multi->timetree`). ```c int Curl_resolver_getsock(struct connectdata *conn, curl_socket_t *socks, int numsocks) { time_t milli; timediff_t...

Our syscall handlers are implemented in "src/main/host/syscall/". Some system calls might have both rust and C versions during our migration to rust (C syscall handlers are used for C descriptors...

> will stop supporting a distro once it hits EOL This conflicts with our [stability guarantees](https://github.com/shadow/shadow/blob/85946ac80c52bbb7a23178425db6aab97aa03ff0/docs/semver.md): > More specifically, we aim to provide the following guarantees between MINOR versions: >...

I've added this to the 3.0 project since changing our supported platforms or changing how/when we add/remove supported platforms would require breaking one of our "stability guarantees".

> The biggest potential blocker right now is that not all file descriptors support duplication yet. However, unix pipes and regular files are probably sufficient to cover a lot of...

We may also need to consider futexes shared between processes: https://github.com/shadow/shadow/blob/ee157d00e39c2c7b1c6a7a3467d73f3bb1b2a49a/src/main/host/syscall/futex.c#L143-L147

No, an abstract socket implies that it is bound in the abstract namespace, and has a length `>= 3`. The `new_abstract` method always adds at least one empty byte to...

We have code that intercepts syscalls, so we need to work with `libc::sockaddr` types. Within the internals of our application, it's nice to convert these to nix `SockAddr` types to...

I think maybe this could be implemented with something like: ```rust impl UnixAddr { pub fn new_unnamed() -> Result { unsafe { let mut ret = libc::sockaddr_un { sun_family: AddressFamily::Unix...