proj: Implement fork/exec/pipe
This commit is contained in:
@@ -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']
|
||||
|
||||
Reference in New Issue
Block a user