mirror of
https://github.com/jart/cosmopolitan.git
synced 2025-06-27 23:08:31 +00:00
Make read() and write() signal handling atomic
You would think this is an important bug fix, but unfortunately all UNIX implementations I've evaluated have a bug in read that causes signals to not be handled atomically. The only exception is the latest iteration of Cosmopolitan's read/write polyfill on Windows, which is somewhat ironic.
This commit is contained in:
parent
c260144843
commit
baf70af780
12 changed files with 520 additions and 153 deletions
|
@ -43,6 +43,7 @@ forceinline bool __isfdkind(int fd, int kind) {
|
|||
|
||||
int _check_signal(bool);
|
||||
int _check_cancel(void);
|
||||
bool _is_canceled(void);
|
||||
int sys_close_nt(int, int);
|
||||
int _park_norestart(uint32_t, uint64_t);
|
||||
int _park_restartable(uint32_t, uint64_t);
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue