I applaud trying to find the right solution but wonder if a more trivial solution is even being considered. It ignores big and little endians and just converts your data into another form and back.
If all you want to do is send an integer that fit in 32 bits or 64 bits, why not convert it to a character string in a form that both machines will see the same way and when read back, convert it back to an integer? As long as both side see the same string, this can be done in reasonable time and portably. Or am I missing something? Is "1234" not necessarily seen in the same order, or "1.234e3" or whatever? Obviously, if the mechanism is heavily used and multiple sides keep reading and even writing the same memory location, this is not ideal. But having different incompatible processors looking at the same memory is also not. -----Original Message----- From: Dennis Lee Bieber <wlfr...@ix.netcom.com> To: python-list@python.org Sent: Wed, Feb 2, 2022 12:30 am Subject: Re: Data unchanged when passing data to Python in multiprocessing shared memory On Wed, 2 Feb 2022 00:40:22 +0100 (CET), Jen Kris <jenk...@tutanota.com> declaimed the following: > > breakup = int.from_bytes(byte_val, "big") >print("this is breakup " + str(breakup)) > >Python prints: this is breakup 32894 > >Note that I had to switch from little endian to big endian. Python is little >endian by default, but in this case it's big endian. > Look at the struct module. I'm pretty certain it has flags for big or little end, or system native (that, or run your integers through the various "network byte order" functions that I think C and Python both support. https://www.gta.ufrj.br/ensino/eel878/sockets/htonsman.html >However, if anyone on this list knows how to pass data from a non-Python >language to Python in multiprocessing.shared_memory please let me (and the >list) know. <pondering>MMU cache lines not writing through to RAM? Can't find anything on Google to force a cache flush</pondering> Can you test on a different OS? (Windows vs Linux) -- Wulfraed Dennis Lee Bieber AF6VN wlfr...@ix.netcom.com http://wlfraed.microdiversity.freeddns.org/ -- https://mail.python.org/mailman/listinfo/python-list -- https://mail.python.org/mailman/listinfo/python-list