make popen cancellation-safe
close was the only cancellation point called from popen, but it left popen with major resource leaks if any call to close got cancelled. the easiest, cheapest fix is just to use a non-cancellable close function.
This commit is contained in:
parent
f305467aad
commit
9c21f4342c
1 changed files with 7 additions and 0 deletions
|
|
@ -1,4 +1,11 @@
|
|||
#include "stdio_impl.h"
|
||||
#include "syscall.h"
|
||||
|
||||
static inline void nc_close(int fd)
|
||||
{
|
||||
__syscall(SYS_close, fd);
|
||||
}
|
||||
#define close(x) nc_close(x)
|
||||
|
||||
FILE *popen(const char *cmd, const char *mode)
|
||||
{
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue