1
0

proj: Implement fork/exec/pipe

This commit is contained in:
2025-04-02 10:37:49 +02:00
parent e9389d4187
commit d4575728b5
4 changed files with 824 additions and 157 deletions

View File

@@ -9,6 +9,10 @@ FUNCTION_ERRORS: dict[str, list[str]] = {
'calloc': ['ENOMEM'],
'realloc': ['ENOMEM'],
'reallocarray': ['ENOMEM'],
'read': [],
'pread': [],
'write': [],
'pwrite': [],
'close': ['EBADF'], # EINTR, EIO
'sigaction': ['EINVAL'],
'sem_init': ['EINVAL', 'ENOSYS'],
@@ -26,6 +30,21 @@ FUNCTION_ERRORS: dict[str, list[str]] = {
'mmap': ['EACCES', 'EBADF', 'EINVAL', 'EMFILE', 'ENODEV', 'ENOMEM', 'ENOTSUP', 'ENXIO', 'EOVERFLOW'], # EAGAIN
'munmap': ['EINVAL'],
'ftruncate': ['EINTR', 'EINVAL', 'EFBIG', 'EIO', 'EBADF'],
'fork': ['EAGAIN', 'ENOMEM', 'ENOSYS'],
'wait': ['ECHILD', 'EINTR'],
'waitpid': ['ECHILD', 'EINTR', 'EINVAL'],
'execl': ['ECHILD', 'EINTR'],
'execlp': ['ECHILD', 'EINTR'],
'execle': ['ECHILD', 'EINTR'],
'execv': ['ECHILD', 'EINTR'],
'execvp': ['ECHILD', 'EINTR'],
'execvpe': ['ECHILD', 'EINTR'],
'execve': ['ECHILD', 'EINTR'],
'fexecve': ['ECHILD', 'EINTR'],
'pipe': ['EMFILE', 'ENFILE'],
'dup': ['EBADF', 'EMFILE'], # ENOMEM
'dup2': ['EBADF', 'EBUSY', 'EINTR', 'EMFILE'], # ENOMEM
'dup3': ['EBADF', 'EBUSY', 'EINTR', 'EINVAL', 'EMFILE'], # ENOMEM
}
SKIP_ERRORS: list[str] = ['EINTR']