Logo AND Algorithmique Numérique Distribuée

Public GIT Repository
SIMIX_network_copy_data() is a mess because it tries to allow passing
authormquinson <mquinson@48e7efb5-ca39-0410-a469-dd3cf9ba447f>
Fri, 5 Mar 2010 09:24:02 +0000 (09:24 +0000)
committermquinson <mquinson@48e7efb5-ca39-0410-a469-dd3cf9ba447f>
Fri, 5 Mar 2010 09:24:02 +0000 (09:24 +0000)
commit2cba8fd12799e5332f13621f2e4e96c4752fa35b
treea76139b6153d37fab4ffcbc9420ef7cc7b3ec3e3
parent15aaf080fc5a94e9f5f2e3190c0aff91b6cb16d3
SIMIX_network_copy_data() is a mess because it tries to allow passing
arbitrary long memory chuncks in simix_network. It complicates stuff,
and is hopeless anyway since it has not the full gras_datadesc power.
So, let's stop trying that.

When SIMIX_network_send(), don't pass a pointer's address (void**) as
argument src_buf (which is declared void*). It was dereferenced twice
in SIMIX_network_copy_data() anyway.

The current situation is a bit more sane, even if further cleanups is
needed: I guess that the data argument of SIMIX_network_send() become
useless now, and I didn't cleanup my commit: that's full of useless
FIXMEs.

The motivation to this change was that ruby stacks may move to some
other location in the memory on context switch (to extend it). So,
trying to reuse a pointer to a variable living in the stack after a
switch does not work. This commit kills a "invalid read".

git-svn-id: svn+ssh://scm.gforge.inria.fr/svn/simgrid/simgrid/trunk@7199 48e7efb5-ca39-0410-a469-dd3cf9ba447f
src/msg/msg_mailbox.c
src/simix/smx_network.c