Velocity Reviews

Velocity Reviews (http://www.velocityreviews.com/forums/index.php)
-   Python (http://www.velocityreviews.com/forums/f43-python.html)
-   -   has anybody used ctypes to call back into c program which embeds apython interpreter (http://www.velocityreviews.com/forums/t944917-has-anybody-used-ctypes-to-call-back-into-c-program-which-embeds-apython-interpreter.html)

Hannu Krosing 03-31-2012 02:33 PM

has anybody used ctypes to call back into c program which embeds apython interpreter
 
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



All times are GMT. The time now is 06:53 AM.

Powered by vBulletin®. Copyright ©2000 - 2014, vBulletin Solutions, Inc.
SEO by vBSEO ©2010, Crawlability, Inc.