[GRASS-dev] Re: [GRASS GIS] #1646: GRASS ctypes exception handling
GRASS GIS
trac at osgeo.org
Sat Apr 28 18:48:34 EDT 2012
#1646: GRASS ctypes exception handling
-----------------------------------------------------+----------------------
Reporter: huhabla | Owner: grass-dev@…
Type: enhancement | Status: new
Priority: normal | Milestone: 7.0.0
Component: Python ctypes | Version: svn-trunk
Keywords: setjmp, longjmp, Exception, gently exit | Platform: All
Cpu: All |
-----------------------------------------------------+----------------------
Comment(by glynn):
Replying to [comment:3 huhabla]:
> A simple example:
{{{
CLEANUP_HANDLER = CFUNCTYPE(c_void_p, c_void_p)(cleanup_handler)
}}}
I think that this should be
{{{
CLEANUP_HANDLER = CFUNCTYPE(None, c_void_p)(cleanup_handler)
}}}
The return type should be "void", not "void *".
> Raising a !FatalErrorException is a bit pointless, but it works as
expected. The main problem is that i have no clue how to cast the Python
string from void pointer in the clean up handler, or how to cast any other
Python object i need to clean up?
I think that the handler should just call sys.exit(), so that any exit
handlers registered with atexit.register() are called.
--
Ticket URL: <http://trac.osgeo.org/grass/ticket/1646#comment:4>
GRASS GIS <http://grass.osgeo.org>
More information about the grass-dev
mailing list