changed to use lt_dlopenadvise() instead of lt_dlopenext()
This commit is contained in:
parent
cb61a8ac69
commit
c42a9945b1
@ -210,7 +210,7 @@ this tokenization process.
|
|||||||
|
|
||||||
### Comments ###
|
### Comments ###
|
||||||
|
|
||||||
A comment is a part of the program text excluded during tokenization. You can
|
A comment is part of the program text excluded during tokenization. You can
|
||||||
put descriptive text about the program in a comment.
|
put descriptive text about the program in a comment.
|
||||||
|
|
||||||
A single-line comment is introduced by a hash character #, and is terminated at
|
A single-line comment is introduced by a hash character #, and is terminated at
|
||||||
|
@ -222,6 +222,7 @@ void* qse_awk_stdmodopen (qse_awk_t* awk, const qse_awk_mod_spec_t* spec)
|
|||||||
{
|
{
|
||||||
#if defined(USE_LTDL)
|
#if defined(USE_LTDL)
|
||||||
void* h;
|
void* h;
|
||||||
|
lt_dladvise adv;
|
||||||
qse_mchar_t* modpath;
|
qse_mchar_t* modpath;
|
||||||
const qse_char_t* tmp[4];
|
const qse_char_t* tmp[4];
|
||||||
int count;
|
int count;
|
||||||
@ -252,7 +253,20 @@ void* qse_awk_stdmodopen (qse_awk_t* awk, const qse_awk_mod_spec_t* spec)
|
|||||||
return QSE_NULL;
|
return QSE_NULL;
|
||||||
}
|
}
|
||||||
|
|
||||||
h = lt_dlopenext (modpath);
|
if (lt_dladvise_init (&adv) != 0)
|
||||||
|
{
|
||||||
|
/* the only failure of lt_dladvise_init() seems to be caused
|
||||||
|
* by memory allocation failured */
|
||||||
|
qse_awk_seterrnum (awk, QSE_AWK_ENOMEM, QSE_NULL);
|
||||||
|
return QSE_NULL;
|
||||||
|
}
|
||||||
|
|
||||||
|
lt_dladvise_ext (&adv);
|
||||||
|
/*lt_dladvise_resident (&adv); useful for debugging with valgrind */
|
||||||
|
|
||||||
|
h = lt_dlopenadvise (modpath, adv);
|
||||||
|
|
||||||
|
lt_dladvise_destroy (&adv);
|
||||||
|
|
||||||
QSE_MMGR_FREE (awk->mmgr, modpath);
|
QSE_MMGR_FREE (awk->mmgr, modpath);
|
||||||
|
|
||||||
|
Loading…
Reference in New Issue
Block a user