FazBrowse GitHub Viewer
|
Trending
|
URL:
|
Home
Tools:
[Download Repo ZIP]
[View Raw Code]
[Original HTTPS Page]
python/Python/dynload_hpux.c at master · java66liu/python · GitHub
java66liu
/
python
Public
forked from
glix/python
Notifications
You must be signed in to change notification settings
Fork
0
Star
0
Code
Pull requests
0
Actions
Projects
Wiki
Security and quality
0
Insights
Additional navigation options
Code
Pull requests
Actions
Projects
Wiki
Security and quality
Insights
Expand file tree
Breadcrumbs
python
/
Python
/
dynload_hpux.c
Copy path
More file actions
More file actions
Latest commit
History
History
History
58 lines (50 loc) · 1.34 KB
Breadcrumbs
python
/
Python
/
dynload_hpux.c
Copy path
File metadata and controls
58 lines (50 loc) · 1.34 KB
Raw
Copy raw file
Download raw file
Open symbols panel
Edit and raw actions
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
/* Support for dynamic loading of extension modules */
#include
"dl.h"
#include
<errno.h>
#include
"Python.h"
#include
"importdl.h"
#if
defined(
__hp9000s300
)
#define
FUNCNAME_PATTERN
"_init%.200s"
#else
#define
FUNCNAME_PATTERN
"init%.200s"
#endif
const
struct
filedescr
_PyImport_DynLoadFiletab
[]
=
{
{
SHLIB_EXT
,
"rb"
,
C_EXTENSION
},
{
"module"
SHLIB_EXT
,
"rb"
,
C_EXTENSION
},
{
0
,
0
}
};
dl_funcptr
_PyImport_GetDynLoadFunc
(
const
char
*
fqname
,
const
char
*
shortname
,
const
char
*
pathname
,
FILE
*
fp
)
{
dl_funcptr
p
;
shl_t
lib
;
int
flags
;
char
funcname
[
258
];
flags
=
BIND_FIRST
|
BIND_DEFERRED
;
if
(
Py_VerboseFlag
) {
flags
=
BIND_FIRST
|
BIND_IMMEDIATE
|
BIND_NONFATAL
|
BIND_VERBOSE
;
printf
(
"shl_load %s\n"
,
pathname
);
}
lib
=
shl_load
(
pathname
,
flags
,
0
);
/* XXX Chuck Blake once wrote that 0 should be BIND_NOSTART? */
if
(
lib
==
NULL
) {
char
buf
[
256
];
if
(
Py_VerboseFlag
)
perror
(
pathname
);
PyOS_snprintf
(
buf
,
sizeof
(
buf
),
"Failed to load %.200s"
,
pathname
);
PyErr_SetString
(
PyExc_ImportError
,
buf
);
return
NULL
;
}
PyOS_snprintf
(
funcname
,
sizeof
(
funcname
),
FUNCNAME_PATTERN
,
shortname
);
if
(
Py_VerboseFlag
)
printf
(
"shl_findsym %s\n"
,
funcname
);
if
(
shl_findsym
(
&
lib
,
funcname
,
TYPE_UNDEFINED
, (
void
*
)
&
p
)
==
-1
) {
shl_unload
(
lib
);
p
=
NULL
;
}
if
(
p
==
NULL
&&
Py_VerboseFlag
)
perror
(
funcname
);
return
p
;
}
Back
|
FazBrowse Home
|
New Git URL