Hello, I am writing an extension using shared memory. I need a data type that is able to reassign its 'ob_type' field depending on what process is calling it.
Object 'A' is of type 'Ta'. When process 'P' is looking at it, it needs to have an 'ob_type' that is 'Ta' as process 'P' sees it. When process 'Q' is looking at it, it needs to have an 'ob_type' that is 'Ta' as process 'Q' sees it. If it referred to 'Ta' in process 'P' when 'Q' was calling it, 'Q' would have to access memory that is in another process. Therefore, I need a field and an array. The field indicates which type should be loaded, and the array contains the types. Quick example: PyTypeObject* array_of_types[]= { &SharedList, &SharedTuple }; Then, when a list is being accessed, it can set its own 'ob_type' field to 'array_of_types[ 0 ]', and similarly for a tuple. However, I'm having trouble getting 'array_of_types' in the right module during compilation. My question is: Where do 'array_of_types' and the forward declarations for the types go? My fallback is what 'pickle' does: store types as strings, then load them dynamically for 'ob_type'. That is, obtain a pointer to the type from the string. Thank you for reading! Any ideas? Thanks in advance. -- http://mail.python.org/mailman/listinfo/python-list