Florian Fischer
6f4d3b57f9
libc: fix waitpid not detecting process termination
...
Since 452aa40770 and the change to
properly return processes exit codes in the status argument, the
status will never be EXIT_ZOMBIE(16) except a process was terminated by
signal(16).
Return from waitpid if either an error occurred (__res < 0) or
we got the status of a child process (__res == cpid).
Additionally fix the weird alignment of the closing braces.
2024-01-13 14:31:00 +01:00
Enrico Fraccaroli (Galfurian)
327e29791e
Use gcc@11 under MacOS
2023-11-30 11:47:15 -05:00
Enrico Fraccaroli (Galfurian)
4292149567
Use x86_64-elf-gcc under MacOS
2023-11-29 10:45:27 -05:00
Enrico Fraccaroli (Galfurian)
030c16d29e
Use x86_64-elf-gcc under MacOS
2023-11-29 10:40:27 -05:00
Enrico Fraccaroli (Galfurian)
29e9d2ff11
Use x86_64-elf-gcc under MacOS
2023-11-29 10:38:44 -05:00
Enrico Fraccaroli (Galfurian)
24b2182bec
Use x86_64-elf-gcc under MacOS
2023-11-29 10:37:47 -05:00
Enrico Fraccaroli (Galfurian)
654a3165c0
Use x86_64-elf-gcc under MacOS
2023-11-29 10:34:42 -05:00
Enrico Fraccaroli (Galfurian)
7ce609fddc
Fix compilation with clang 15.0.7
2023-11-28 10:10:28 -05:00
Enrico Fraccaroli (Galfurian)
f066dd2ad9
Add support for reading symlinks
2023-11-21 14:20:41 -05:00
Enrico Fraccaroli (Galfurian)
1197797ee1
Add symlink function (not yet implemented in ext2)
2023-09-01 11:17:40 -04:00
Enrico Fraccaroli (Galfurian)
45f75bd00d
Add readme to the list of compiled files.
2023-08-30 15:39:23 -04:00
Enrico Fraccaroli (Galfurian)
163e83009d
Make tokenize work with a const char pointer.
2023-08-30 15:38:52 -04:00
Enrico Fraccaroli (Galfurian)
ecf5907f83
Transform readline into a globally accessible function.
2023-08-30 15:38:24 -04:00
Enrico Fraccaroli (Galfurian)
78c1ff4bd4
Minor improvements to the string-related functions.
2023-08-30 11:51:25 -04:00
Enrico Fraccaroli (Galfurian)
d50d997d6e
Wrap single line statements inside braces.
2023-08-24 12:17:16 -04:00
Enrico Fraccaroli (Galfurian)
dde6e6bc9e
First rough implementation of shared memory.
2023-08-16 11:49:52 -04:00
Enrico Fraccaroli (Galfurian)
20091b196f
Start working on shared memory
2023-08-11 13:39:18 -04:00
Enrico Fraccaroli (Galfurian)
55b5eb8cee
Fix format, and dela with type casting.
2023-08-11 13:04:34 -04:00
Enrico Fraccaroli (Galfurian)
24ebe9647c
Minor format changes.
2023-08-11 11:37:30 -04:00
Enrico Fraccaroli (Galfurian)
16b905625d
Turn port-io into header-only.
2023-07-12 14:26:52 -04:00
Enrico Fraccaroli (Galfurian)
707c0e408b
Improve dec_to_binary function
2023-07-12 14:26:14 -04:00
Enrico Fraccaroli (Galfurian)
28276bf565
Add macro to compute number of elements inside an array.
2023-07-01 16:06:34 -04:00
Enrico Fraccaroli (Galfurian)
3ed59b6f55
Add function to count element in arrays.
2023-06-29 15:48:56 -04:00
Enrico Fraccaroli (Galfurian)
86e046d080
Minor naming changes inside port_io
2023-06-29 13:00:15 -04:00
Enrico Fraccaroli (Galfurian)
b7c82d7333
Rewrite realpath without memory allocation.
2023-06-23 15:02:17 -04:00
Enrico Fraccaroli (Galfurian)
7972ddeac7
- Add missing comments;
...
- Reimplement a more safer dirname;
- Implement a simple and safe tokenize function;
2023-06-23 14:37:24 -04:00
Enrico Fraccaroli (Galfurian)
ef6ef96576
Standardize the way we generate random numbers.
2023-06-22 15:42:00 -04:00
Enrico Fraccaroli (Galfurian)
a872442aa3
Finish reworking the heap.
2023-06-19 17:44:27 -04:00
Enrico Fraccaroli (Galfurian)
eb74fae1fd
Add round_up math function. Add toggle_bit function. Minor clean up of the kheap code.
2023-06-16 10:18:22 -04:00
Enrico Fraccaroli (Galfurian)
e23c434cc6
Add new defines to the mman.h file.
2023-06-14 12:52:07 -04:00
Enrico Fraccaroli (Galfurian)
16c416cbea
Add new functions to the list_head system.
2023-06-14 12:51:41 -04:00
Enrico Fraccaroli (Galfurian)
fb0323c8ce
Create a temporary solution to call a 6-arguments system call (specifically, mmap).
2023-06-09 15:36:03 -04:00
Enrico Fraccaroli (Galfurian)
d90e7ff02b
Move list_head in libc
2023-06-09 10:45:51 -04:00
Enrico Fraccaroli (Galfurian)
c17153318c
Finish the implementation for message send, and receive. Implement their IPC_NOWAIT behaviour.
2023-06-08 17:06:42 -04:00
Enrico Fraccaroli (Galfurian)
f515c44eb3
Implement message send and receive functions.
2023-06-08 16:38:42 -04:00
Enrico Fraccaroli (Galfurian)
8f6ff5a59a
Add the core for creating a message queue. Write the code for sending messages.
2023-06-08 15:46:50 -04:00
Enrico Fraccaroli (Galfurian)
e5370dff36
Prepare main structure for managing message queues.
2023-06-08 10:51:33 -04:00
Enrico Fraccaroli (Galfurian)
2fcce9360c
Merge branch 'develop' into feature/ipc_msg
2023-06-08 10:45:35 -04:00
Enrico Fraccaroli (Galfurian)
63d36004b3
Move the pointer to the semaphores back into the kernel-only data structure sem_info_t.
2023-06-08 10:45:26 -04:00
Enrico Fraccaroli (Galfurian)
ca3c769467
Initialize the message queue data structures.
2023-06-08 10:37:45 -04:00
Enrico Fraccaroli (Galfurian)
dbbdb907aa
Change asm compilation command.
2023-06-02 14:41:00 -04:00
Enrico Fraccaroli (Galfurian)
8891ed7d7a
Fix semop return type. Do some minor style-based fixes.
2023-06-02 13:49:10 -04:00
Enrico Fraccaroli (Galfurian)
db050db01c
Move list of semaphores inside semid_ds structure.
2023-05-24 13:31:44 -04:00
Enrico Fraccaroli (Galfurian)
1acec3e7b3
Fix third test program. Fix EAGAIN message.
2023-05-23 14:05:41 -04:00
Enrico Fraccaroli (Galfurian)
3ae9258347
Fix permission management for IPC and also for EXT2.
2023-05-23 13:40:02 -04:00
Enrico Fraccaroli
e7c0334ac0
Hide semaphore info from user-space (WIP).
2023-05-23 10:43:52 -04:00
Enrico Fraccaroli (Galfurian)
3e03f1e6fd
Clean up the semget example. Clean up the return values of semop function.
2023-05-19 14:24:04 -04:00
Enrico Fraccaroli (Galfurian)
9f63a93d63
Properly handle ipc and sem permissions. Fix return error codes. Fix private key generation.
2023-05-17 15:23:42 -04:00
Enrico Fraccaroli
97eedf450d
Create ipc code for managing all ipcs and their keys
2023-05-10 14:21:54 -04:00
Enrico Fraccaroli
19e8ad309f
Move IPC stuff from the libc side, inside the sys folder.
2023-05-08 12:53:17 +02:00