]> rtime.felk.cvut.cz Git - orte.git/commit
JORTE: switch from deserialize function to endianness callback
authorMartin Vajnar <martin.vajnar@gmail.com>
Thu, 25 Jul 2013 12:45:43 +0000 (14:45 +0200)
committerPavel Pisa <pisa@cmp.felk.cvut.cz>
Mon, 23 Sep 2013 09:06:26 +0000 (11:06 +0200)
commit4a93bce338dbea1ceb672530fbe41d62095b9370
tree72d8c71826344b9be681fa512e9898f3548ddd27
parent511905c894fdb6560048f7a9e6ab4e7773450839
JORTE: switch from deserialize function to endianness callback

Yesterday's attempt at setting the byte order of ByteBuffer through
a deserialize function has one significant drawback and that is if more
than one data type is defined under one VM instance (thus accessible by
other threads) and subscribers are then registered for these data types
the deserialize function will stop working correctly, because there are
no parameter structures being passed to it, except for the CDR_Codec,
thus it had to use a global reference to a byte buffer which is
unfortunately overwritten the moment a new data type is registered.
If the deserialize function for the previously registered data type
is invoked it then tampers with ByteBuffer settings of a newly registered
data type.
orte/include/jorte/jorte_typedefs_defines.h
orte/libjorte/JORTETypeRegisterAdd.c
orte/libjorte/onLoad.c