Add rk_cloexec_dir() to lib/roken

This commit is contained in:
Asanka Herath
2009-12-22 14:03:39 -05:00
parent ff11a8ae43
commit 68cfbb7e19
6 changed files with 18 additions and 6 deletions

View File

@@ -113,9 +113,7 @@ dir_iter_start(hx509_context context,
free(d);
return errno;
}
#ifndef _WIN32
rk_cloexec(dirfd(d->dir));
#endif
rk_cloexec_dir(d->dir);
d->certs = NULL;
d->iter = NULL;

View File

@@ -205,9 +205,7 @@ load_plugins(krb5_context context)
d = opendir(*di);
if (d == NULL)
continue;
#ifdef HAVE_DIRFD
rk_cloexec(dirfd(d));
#endif
rk_cloexec_dir(d);
while ((entry = readdir(d)) != NULL) {
char *n = entry->d_name;

View File

@@ -56,3 +56,11 @@ rk_cloexec_file(FILE *f)
rk_cloexec(fileno(f));
#endif
}
void ROKEN_LIB_FUNCTION
rk_cloexec_dir(DIR * d)
{
#ifdef HAVE_DIRFD
rk_cloexec(dirfd(d));
#endif
}

View File

@@ -480,6 +480,9 @@ rk_cloexec(int);
ROKEN_LIB_FUNCTION void ROKEN_LIB_CALL
rk_cloexec_file(FILE *);
ROKEN_LIB_FUNCTION void ROKEN_LIB_CALL
rk_cloexec_dir(DIR *);
ROKEN_LIB_FUNCTION int ROKEN_LIB_CALL
ct_memcmp(const void *, const void *, size_t);

View File

@@ -222,6 +222,10 @@ struct sockaddr_dl;
#include <paths.h>
#endif
#ifdef HAVE_DIRENT_H
#include <dirent.h>
#endif
#ifdef BACKSLASH_PATH_DELIM
#define rk_PATH_DELIM '\\'
#endif

View File

@@ -42,6 +42,7 @@ HEIMDAL_ROKEN_1.0 {
rk_cgetstr;
rk_cloexec;
rk_cloexec_file;
rk_cloexec_dir;
rk_closefrom;
rk_copyhostent;
rk_dns_free_data;