Groups | Search | Server Info | Keyboard shortcuts | Login | Register [http] [https] [nntp] [nntps]
Groups > comp.lang.python > #22418 > unrolled thread
| Started by | Hannu Krosing <hannu@krosing.net> |
|---|---|
| First post | 2012-03-31 16:33 +0200 |
| Last post | 2012-03-31 16:33 +0200 |
| Articles | 1 — 1 participant |
Back to article view | Back to comp.lang.python
has anybody used ctypes to call back into c program which embeds a python interpreter Hannu Krosing <hannu@krosing.net> - 2012-03-31 16:33 +0200
| From | Hannu Krosing <hannu@krosing.net> |
|---|---|
| Date | 2012-03-31 16:33 +0200 |
| Subject | has anybody used ctypes to call back into c program which embeds a python interpreter |
| Message-ID | <mailman.1180.1333204443.3037.python-list@python.org> |
Hi,
I want to use ctypes to use some functions from postgreSQL server which
embeds python interpreter as language pl/python.
That is I want to use ctypes to call _back_ to some internal functions
in the server
What I tried is the following:
hannu=# create or replace function send_raw_notice(rn_text text)
returns text
language plpythonu
as
$$
from ctypes import *
import struct
pg = cdll.LoadLibrary('/usr/lib/postgresql/9.1/bin/postmaster')
pg.pq_flush()
return rn_text
$$;
CREATE FUNCTION
hannu=# select send_raw_notice('so you see me?');
The connection to the server was lost. Attempting reset: Failed.
!>
This caused a segfault:
2012-03-31 16:28:24 CEST LOG: server process (PID 8739) was terminated
by signal 11: Segmentation fault
2012-03-31 16:28:24 CEST LOG: terminating any other active server
processes
I suspect it is due to not calling into the host program (the running
server) but into a newly loaded and uninitialized copy of postmaster
loaded as library
Does anyone have ideas how to call into the embedding c program from
ctypes ?
--------------
Hannu
Back to top | Article view | comp.lang.python
csiph-web