tree-wide: make macros for converting fds to pointers and back generic and use them everywhere
This commit is contained in:
+2
-2
@@ -68,7 +68,7 @@ int asynchronous_sync(void) {
|
||||
}
|
||||
|
||||
static void *close_thread(void *p) {
|
||||
assert_se(close_nointr(PTR_TO_INT(p)) != -EBADF);
|
||||
assert_se(close_nointr(PTR_TO_FD(p)) != -EBADF);
|
||||
return NULL;
|
||||
}
|
||||
|
||||
@@ -84,7 +84,7 @@ int asynchronous_close(int fd) {
|
||||
if (fd >= 0) {
|
||||
PROTECT_ERRNO;
|
||||
|
||||
r = asynchronous_job(close_thread, INT_TO_PTR(fd));
|
||||
r = asynchronous_job(close_thread, FD_TO_PTR(fd));
|
||||
if (r < 0)
|
||||
assert_se(close_nointr(fd) != -EBADF);
|
||||
}
|
||||
|
||||
@@ -28,6 +28,10 @@
|
||||
|
||||
#include "macro.h"
|
||||
|
||||
/* Make sure we can distinguish fd 0 and NULL */
|
||||
#define FD_TO_PTR(fd) INT_TO_PTR((fd)+1)
|
||||
#define PTR_TO_FD(p) (PTR_TO_INT(p)-1)
|
||||
|
||||
int close_nointr(int fd);
|
||||
int safe_close(int fd);
|
||||
void safe_close_pair(int p[]);
|
||||
|
||||
@@ -36,10 +36,6 @@
|
||||
#define MAKE_SET(s) ((Set*) s)
|
||||
#define MAKE_FDSET(s) ((FDSet*) s)
|
||||
|
||||
/* Make sure we can distinguish fd 0 and NULL */
|
||||
#define FD_TO_PTR(fd) INT_TO_PTR((fd)+1)
|
||||
#define PTR_TO_FD(p) (PTR_TO_INT(p)-1)
|
||||
|
||||
FDSet *fdset_new(void) {
|
||||
return MAKE_FDSET(set_new(NULL));
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user