0.2
New features
- Multi-threading: add clone(CLONE_THREAD) and futex() (Windows 8+ only)
- In-process signal handling: rt_sigaction, rt_sigprocmask, rt_sigsuspend
- Generation of SIGINT, SIGCHLD, and SIGWINCH signals
- process_wait(): WNOHANG
- Remove build dependency on dlltool
- eventfd: Added
- /dev/dsp: Added
- vfs: Add ppoll() and pselect6()
- vfs: Initial epoll() implementation
- vfs: Implement basic nodes in /proc, /sys and /dev file systems
- vfs: Support inter-process information query in /proc/[pid] file system
- vfs: Add proper error messages for missing operations in file vtable
- console: Alternate screen buffer
- console: DEC special graphics charset
- console: Swap In and Swap Out characters
- console: DA2 query
- console: Initial UTF-8 support
- console:
CSI [ h' and
CSI [ l' supports multiple modes - console: Support character attributes 39 (default fg) and 49 (default bg)
- Use red black tree for virtual address space management in mm and dbt
- mmap(): Add MAP_SHARED support
- clock_gettime(): CLOCK_MONOTONIC_COARSE and CLOCK_MONOTONIC_RAW
- dbt: Add translation rules for FXSAVE and FXRSTOR instructions
- dbt: Support code unloading
- ioctl: FIOCLEX, FIONCLEX, FIONBIO
- socket: Support POLLHUP events
- socket: Add stat() function call
- sockopt: SO_SNDBUF, SO_RCVBUF, SO_LINGER, SO_REUSEADDR
- Add getrandom()
- execve(): Recover on file opening failure
- rename(): Allow replacing files in use
- flog: Rewrite log viewer using custom control
- flog: Improve logging performance substantially
- flog: Highlight warnings/errors
- flog: Add basic keyboard shortcuts
Bug fixes
- console: Fix initial termios.c_flag
- console: Fix read() on VTIME > 0 should at least read one character
- time(): Fix time calculation
- readlink(): Fix fd leak
- dbt: Fix instruction definition for BTR (0F B3)
- getdents(): Fix not working in /dev
- vfs_pselect6(): Clear fd set before returning an error
- winfs: Fix file pointer changed in pread() and pwrite()