Skip to content
体验新版
项目
组织
正在加载...
登录
切换导航
打开侧边栏
Greenplum
Gpdb
提交
700032ad
G
Gpdb
项目概览
Greenplum
/
Gpdb
通知
7
Star
1
Fork
0
代码
文件
提交
分支
Tags
贡献者
分支图
Diff
Issue
0
列表
看板
标记
里程碑
合并请求
0
DevOps
流水线
流水线任务
计划
Wiki
0
Wiki
分析
仓库
DevOps
项目成员
Pages
G
Gpdb
项目概览
项目概览
详情
发布
仓库
仓库
文件
提交
分支
标签
贡献者
分支图
比较
Issue
0
Issue
0
列表
看板
标记
里程碑
合并请求
0
合并请求
0
Pages
DevOps
DevOps
流水线
流水线任务
计划
分析
分析
仓库分析
DevOps
Wiki
0
Wiki
成员
成员
收起侧边栏
关闭侧边栏
动态
分支图
创建新Issue
流水线任务
提交
Issue看板
体验新版 GitCode,发现更多精彩内容 >>
提交
700032ad
编写于
11月 09, 2000
作者:
P
Peter Eisentraut
浏览文件
操作
浏览文件
下载
电子邮件补丁
差异文件
Real dynamic loader code
上级
6b70f386
变更
2
隐藏空白更改
内联
并排
Showing
2 changed file
with
32 addition
and
23 deletion
+32
-23
src/backend/port/dynloader/darwin.c
src/backend/port/dynloader/darwin.c
+25
-19
src/backend/port/dynloader/darwin.h
src/backend/port/dynloader/darwin.h
+7
-4
未找到文件。
src/backend/port/dynloader/darwin.c
浏览文件 @
700032ad
/*
* This is a place holder until someone supplies a dynamic loader
* interface for this platform.
* These routines were taken from the Apache source, but were made
* available with a PostgreSQL-compatible license. Kudos Wilfredo
* Snchez <wsanchez@apple.com>.
*
* $Header: /cvsroot/pgsql/src/backend/port/dynloader/darwin.c,v 1.
1 2000/10/31 19:55:19
petere Exp $
* $Header: /cvsroot/pgsql/src/backend/port/dynloader/darwin.c,v 1.
2 2000/11/09 19:00:50
petere Exp $
*/
#include "postgres.h"
#include "fmgr.h"
#include "utils/dynamic_loader.h"
#include <mach-o/dyld.h>
#include "dynloader.h"
void
*
pg_dlopen
(
char
*
filename
)
void
*
pg_dlopen
(
const
char
*
filename
)
{
return
(
void
*
)
NULL
;
NSObjectFileImage
image
;
if
(
NSCreateObjectFileImageFromFile
(
filename
,
&
image
)
!=
NSObjectFileImageSuccess
)
return
NULL
;
return
NSLinkModule
(
image
,
filename
,
TRUE
);
}
PGFunction
pg_dlsym
(
void
*
handle
,
char
*
funcname
)
void
pg_dlclose
(
void
*
handle
)
{
return
NULL
;
NSUnLinkModule
(
handle
,
FALSE
);
return
;
}
void
pg_dlclose
(
void
*
handle
)
PGFunction
*
pg_dlsym
(
void
*
handle
,
const
char
*
funcname
)
{
NSSymbol
symbol
;
char
*
symname
=
(
char
*
)
malloc
(
strlen
(
funcname
)
+
2
);
sprintf
(
symname
,
"_%s"
,
funcname
);
symbol
=
NSLookupAndBindSymbol
(
symname
);
free
(
symname
);
return
(
PGFunction
*
)
NSAddressOfSymbol
(
symbol
);
}
char
*
pg_dlerror
()
const
char
*
pg_dlerror
(
void
)
{
static
char
errmsg
[]
=
"the dynamic loader for darwin doesn't exist yet"
;
return
errmsg
;
return
"no error message available"
;
}
src/backend/port/dynloader/darwin.h
浏览文件 @
700032ad
/* $Header: /cvsroot/pgsql/src/backend/port/dynloader/darwin.h,v 1.1 2000/10/31 19:55:19 petere Exp $ */
void
*
pg_dlopen
(
char
*
filename
);
PGFunction
pg_dlsym
(
void
*
handle
,
char
*
funcname
);
/* $Header: /cvsroot/pgsql/src/backend/port/dynloader/darwin.h,v 1.2 2000/11/09 19:00:50 petere Exp $ */
#include "fmgr.h"
void
*
pg_dlopen
(
const
char
*
filename
);
PGFunction
pg_dlsym
(
void
*
handle
,
const
char
*
funcname
);
void
pg_dlclose
(
void
*
handle
);
c
har
*
pg_dlerror
(
);
c
onst
char
*
pg_dlerror
(
void
);
编辑
预览
Markdown
is supported
0%
请重试
或
添加新附件
.
添加附件
取消
You are about to add
0
people
to the discussion. Proceed with caution.
先完成此消息的编辑!
取消
想要评论请
注册
或
登录