[C++-sig] Why can't kill process by Ctrl-c in a boost.python module with an endless loop

Jaedyn K. Draper jaedyn.cppsig at jaedyn.co
Sun Dec 23 08:58:21 CET 2012


Oh, my mistake. Not sure then, I've only embedded, never extended. Maybe 
someone else can help. :(

On 12/23/2012 1:59 AM, simon zhang wrote:
> But I  don't call Py_Initialize().I call C++ code in 
> Python.Don't  embed the Python to C++...
>
> 2012/12/23 Jaedyn K. Draper <jaedyn.cppsig at jaedyn.co 
> <mailto:jaedyn.cppsig at jaedyn.co>>
>
>     Instead of Py_Initialize() (wherever it is you call it), try
>     calling Py_InitializeEx(0). Py_Initialize() (or
>     Py_InitializeEx(1)) binds signal handlers (including SIGINT) to
>     send python exceptions instead of killing the process. This may be
>     what's hitting you.
>
>
>     On 12/23/2012 1:44 AM, simon zhang wrote:
>>     I have make a boost.python module with an endless loop.But I
>>     can't kill the process by ctrl-c.The following is an example.
>>
>>     C++
>>
>>     |#include  <boost/python.hpp>
>>     #include  <boost/python.
>>     module.hpp>
>>     #include  <boost/python.
>>     def.hpp>
>>     #include  <iostream>
>>     usringnamespace  boost::python;
>>
>>     void  foo()  {
>>         int  it=0;
>>         while  (true)  {                      //endless loop
>>             ++it;
>>             std::cout<<  it<<std::endl;
>>             sleep(3);
>>         }
>>     }
>>
>>     BOOST_PYTHON_MODULE(ctopy)
>>     {
>>          def("foo",foo);
>>     }|
>>
>>     python:
>>
>>     |import  ctopy
>>     ctopy.foo()|
>>
>>     result:
>>
>>     |1
>>     2
>>     3
>>     4
>>     .....................|
>>
>>     I can't kill the foreground process by Ctrl-c.why the module
>>     don't accept signal "SIGINT" that was sent by Ctrl-c.How to make
>>     it work.
>>
>>
>>
>>     _______________________________________________
>>     Cplusplus-sig mailing list
>>     Cplusplus-sig at python.org  <mailto:Cplusplus-sig at python.org>
>>     http://mail.python.org/mailman/listinfo/cplusplus-sig
>
>
>     _______________________________________________
>     Cplusplus-sig mailing list
>     Cplusplus-sig at python.org <mailto:Cplusplus-sig at python.org>
>     http://mail.python.org/mailman/listinfo/cplusplus-sig
>
>
>
>
> _______________________________________________
> Cplusplus-sig mailing list
> Cplusplus-sig at python.org
> http://mail.python.org/mailman/listinfo/cplusplus-sig

-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://mail.python.org/pipermail/cplusplus-sig/attachments/20121223/f9009b77/attachment-0001.html>


More information about the Cplusplus-sig mailing list