From 709fded02a8c12e6b67813f5e217504a3824b953 Mon Sep 17 00:00:00 2001 From: midipix Date: Dec 18 2019 12:52:42 +0000 Subject: lt_dlpathopen(): refactor in anticipation of lt_dlopen(). --- diff --git a/src/core/lt_path.c b/src/core/lt_path.c index 6d72d85..bc9ac07 100644 --- a/src/core/lt_path.c +++ b/src/core/lt_path.c @@ -243,7 +243,7 @@ int lt_dlinsertsearchdir(const char * mark, const char * path) return lt_sunlock(ret); } -int lt_dlpathopen(const char * module, const char ** extv) +static int lt_dlpathopen_locked(const char * module, const char ** extv) { int fdat; int fdmod; @@ -258,8 +258,6 @@ int lt_dlpathopen(const char * module, const char ** extv) memcpy(path,module,mlen); - lt_slock(); - for (ppath=lt_pathv; *ppath; ppath++) { fdat = open(*ppath,O_RDONLY|O_DIRECTORY|O_CLOEXEC,0); @@ -277,7 +275,7 @@ int lt_dlpathopen(const char * module, const char ** extv) if (fdmod >= 0) { close(fdat); - return lt_sunlock(fdmod); + return fdmod; } } @@ -285,5 +283,11 @@ int lt_dlpathopen(const char * module, const char ** extv) } } - return lt_sunlock(-1); + return -1; +} + +int lt_dlpathopen(const char * module, const char ** extv) +{ + lt_slock(); + return lt_sunlock(lt_dlpathopen_locked(module,extv)); }