yet, when i try to make a deepcopy of an object after allowing pickling, i 
get the following error:

File "/auto/sw_tools/root/lib/python2.7/copy.py", line 182, in deepcopy
    rv = reductor(2)
  File 
"/auto/sw_tools/root/lib/python2.7/site-packages/rpyc-3.2.1-py2.7.egg/rpyc/core/netref.py",
 
line 176, in __reduce_ex__
    return pickle.loads, (syncreq(self, consts.HANDLE_PICKLE, proto),)
  File 
"/auto/sw_tools/root/lib/python2.7/site-packages/rpyc-3.2.1-py2.7.egg/rpyc/core/netref.py",
 
line 71, in syncreq
    return conn.sync_request(handler, oid, *args)
  File 
"/auto/sw_tools/root/lib/python2.7/site-packages/rpyc-3.2.1-py2.7.egg/rpyc/core/protocol.py",
 
line 433, in sync_request
    raise obj
*cPickle.PicklingError: Can't pickle <type 'thread.lock'>: attribute lookup 
thread.lock failed*

(I am running a Treaded server...)

???
On Monday, October 8, 2012 9:17:40 PM UTC+2, Tomer Filiba wrote:
>
> See allow_pickle at 
> http://rpyc.sourceforge.net/api/core_protocol.html#api-protocol
>
> https://github.com/tomerfiliba/rpyc/blob/master/rpyc/core/protocol.py#L547
>
> I have no idea where you got  thread safety issues from 
> On Oct 8, 2012 9:02 PM, "samovar" <[email protected] <javascript:>> wrote:
>
>> Running as a service and trying to write a pickle file on the remote, I 
>> get:
>>
>> ValueError: pickling is disabled
>>
>> I read that pickling is disabled because it is not thread safe.
>>
>> Of course it's not thread safe. No one who is capable to use Rpyc would 
>> think it is.
>> Static class data and @classmethod are not thread safe either. Should 
>> these also be disallowed? There not.
>>
>> I will use a locking mechanism to deal with thread safety issues for 
>> pickle. I should be able to do this.
>> Making it totally unavailable is wrong.
>>
>> Am I wrong?
>>
>>
>>

Reply via email to