Skip to content

Commit c08ae79

Browse files
sockets: more socket work
Signed-off-by: Andy-Python-Programmer <[email protected]>
1 parent df921d3 commit c08ae79

File tree

7 files changed

+332
-142
lines changed

7 files changed

+332
-142
lines changed

aero.py

+1-1
Original file line numberDiff line numberDiff line change
@@ -524,7 +524,7 @@ def run_in_emulator(args, iso_path):
524524

525525
qemu_args = ['-cdrom', iso_path,
526526
'-M', 'q35',
527-
'-m', '6G',
527+
'-m', '9G',
528528
'-smp', '5',
529529
'-serial', 'stdio']
530530

patches/mlibc/mlibc.patch

+2-19
Original file line numberDiff line numberDiff line change
@@ -1,4 +1,4 @@
1-
From 796581911f51ff414a2fa03e53fd470a1f440329 Mon Sep 17 00:00:00 2001
1+
From 2167f1570f20a986de9b3c81636d78e4ef1cedb8 Mon Sep 17 00:00:00 2001
22
From: Andy-Python-Programmer <[email protected]>
33
Date: Fri, 8 Jul 2022 12:32:32 +1000
44
Subject: [PATCH] yes
@@ -8,13 +8,12 @@ Signed-off-by: Andy-Python-Programmer <[email protected]>
88
.gitignore | 2 +
99
options/ansi/generic/stdlib-stubs.cpp | 142 +++++++++++++++++++++-----
1010
options/glibc/generic/execinfo.cpp | 5 +-
11-
options/posix/generic/sys-uio.cpp | 5 +
1211
options/rtdl/generic/linker.cpp | 2 +-
1312
sysdeps/aero/generic/aero.cpp | 38 +++----
1413
sysdeps/aero/generic/filesystem.cpp | 25 ++++-
1514
sysdeps/aero/generic/sockets.cpp | 77 +++++++++++++-
1615
sysdeps/aero/include/aero/syscall.h | 4 +
17-
9 files changed, 246 insertions(+), 54 deletions(-)
16+
8 files changed, 241 insertions(+), 54 deletions(-)
1817

1918
diff --git a/.gitignore b/.gitignore
2019
index fdd60a00..9f811f47 100644
@@ -196,22 +195,6 @@ index 3474615e..10a2109e 100644
196195
}
197196

198197
char **backtrace_symbols(void *const *, int) {
199-
diff --git a/options/posix/generic/sys-uio.cpp b/options/posix/generic/sys-uio.cpp
200-
index b1623525..a5f3e893 100644
201-
--- a/options/posix/generic/sys-uio.cpp
202-
+++ b/options/posix/generic/sys-uio.cpp
203-
@@ -17,6 +17,11 @@ ssize_t readv(int, const struct iovec *, int) {
204-
}
205-
206-
ssize_t writev(int fd, const struct iovec *iovs, int iovc) {
207-
+ if (iovc == 0) {
208-
+ errno = EAGAIN;
209-
+ return -1;
210-
+ }
211-
+
212-
__ensure(iovc);
213-
214-
ssize_t written = 0;
215198
diff --git a/options/rtdl/generic/linker.cpp b/options/rtdl/generic/linker.cpp
216199
index 6716ef4f..e5ec8cff 100644
217200
--- a/options/rtdl/generic/linker.cpp

src/aero_kernel/src/fs/inode.rs

+4-4
Original file line numberDiff line numberDiff line change
@@ -21,7 +21,7 @@ use core::sync::atomic::{AtomicUsize, Ordering};
2121

2222
use aero_syscall::prelude::{EPollEventFlags, PollEventFlags};
2323
use aero_syscall::socket::MessageHeader;
24-
use aero_syscall::{MMapFlags, OpenFlags};
24+
use aero_syscall::{MMapFlags, OpenFlags, SyscallError};
2525

2626
use alloc::sync::Arc;
2727
use alloc::sync::Weak;
@@ -224,11 +224,11 @@ pub trait INodeInterface: Send + Sync {
224224
Err(FileSystemError::NotSocket)
225225
}
226226

227-
fn listen(&self, _backlog: usize) -> Result<()> {
228-
Err(FileSystemError::NotSocket)
227+
fn listen(&self, _backlog: usize) -> ::core::result::Result<(), SyscallError> {
228+
Err(SyscallError::ENOTSOCK)
229229
}
230230

231-
fn accept(&self, _address: &mut SocketAddr) -> Result<Arc<UnixSocket>> {
231+
fn accept(&self, _address: Option<&mut SocketAddr>) -> Result<Arc<UnixSocket>> {
232232
Err(FileSystemError::NotSocket)
233233
}
234234

0 commit comments

Comments
 (0)