because windows does not support forking

-----------------------------------------------------------------

*Tomer Filiba*
tomerfiliba.com     <http://www.facebook.com/tomerfiliba>
<http://il.linkedin.com/in/tomerfiliba>



On Tue, Oct 9, 2012 at 2:14 PM, shay berman <[email protected]> wrote:

> 10x
>
> BTW: why the "threaded" is the default mode rather than the "forking" mode?
>
>
> On Tuesday, October 9, 2012 1:11:47 PM UTC+2, Tomer Filiba wrote:
>
>> use the forking server instead of the threaded server.
>> threads and signals don't mix too well together in python, so the
>> interpreter blocks it.
>>
>>
>> ------------------------------**------------------------------**-----
>>
>> *Tomer Filiba*
>> tomerfiliba.com     <http://www.facebook.com/tomerfiliba>    
>> <http://il.linkedin.com/in/tomerfiliba>
>>
>>
>>
>> On Tue, Oct 9, 2012 at 1:08 PM, shay berman <[email protected]> wrote:
>>
>>> Hi
>>>
>>> How to use signal.signal function via rpyc?
>>> When I use it fail with error : ''signal only works in main thread"
>>>
>>> here is an example :
>>>
>>> *------------------------------------------*
>>> *import rpyc*
>>> *r = rpyc.classic.connect('remote_host')*
>>> *r_signal = r.modules.signal*
>>> *r_signal.signal(r_signal.SIGCHLD, r_signal.SIG_DFL)
>>> *
>>> *------------------------------------------------------------
>>> ---------------*
>>> *ValueError                                Traceback (most recent call
>>> last)*
>>> */home/bshay/git/hostattachment/_meta/tests/xavi/hak_xavi_tests/tests_pool/<ipython
>>> console> in <module>()*
>>> */var/tmp/xavi-xpyv/lib/python2.7/site-packages/rpyc-
>>> 3.0.7-py2.7.egg/rpyc/core/netref.pyc in __call__(_self, *args, **kwargs)
>>> *
>>> *    121         def __call__(_self, *args, **kwargs):*
>>> *    122             kwargs = tuple(kwargs.items())*
>>> *--> 123             return syncreq(_self, consts.HANDLE_CALL, args,
>>> kwargs)*
>>> *    124         __call__.__doc__ = doc*
>>> *    125         return __call__*
>>> *
>>> *
>>> */var/tmp/xavi-xpyv/lib/python2.7/site-packages/rpyc-
>>> 3.0.7-py2.7.egg/rpyc/core/netref.pyc in syncreq(proxy, handler, *args)*
>>> *     43     conn = object.__getattribute__(proxy, "____conn__")*
>>> *     44     oid = object.__getattribute__(proxy, "____oid__")*
>>> *---> 45     return conn().sync_request(handler, oid, *args)*
>>> *     46 *
>>> *     47 def asyncreq(proxy, handler, *args):*
>>> *
>>> *
>>> */var/tmp/xavi-xpyv/lib/python2.7/site-packages/rpyc-
>>> 3.0.7-py2.7.egg/rpyc/core/protocol.pyc in sync_request(self, handler,
>>> *args)*
>>> *    340         isexc, obj = self._sync_replies.pop(seq)*
>>> *    341         if isexc:*
>>> *--> 342             raise obj*
>>> *    343         else:*
>>> *    344             return obj*
>>> *
>>> *
>>> *ValueError: signal only works in main thread*
>>> *
>>> *
>>> *
>>> *
>>>
>>
>>

Reply via email to