Repository: celix
Updated Branches:
  refs/heads/feature/CELIX-237_rsa-ffi 7dc2039f1 -> 4c4a5e9bd


CELIX-237: fixed an issue in dfi export services and fixed an import.

- Added dummy access to ptr in export_registration to force full mem 
initialization for modern unix (linux osx) systems
- remove incorrect ffi-x86.. import


Project: http://git-wip-us.apache.org/repos/asf/celix/repo
Commit: http://git-wip-us.apache.org/repos/asf/celix/commit/4c4a5e9b
Tree: http://git-wip-us.apache.org/repos/asf/celix/tree/4c4a5e9b
Diff: http://git-wip-us.apache.org/repos/asf/celix/diff/4c4a5e9b

Branch: refs/heads/feature/CELIX-237_rsa-ffi
Commit: 4c4a5e9bd064e60b0d6d1569a4208d4c3276c669
Parents: 7dc2039
Author: Pepijn Noltes <pepijnnol...@gmail.com>
Authored: Tue Aug 11 20:52:58 2015 +0200
Committer: Pepijn Noltes <pepijnnol...@gmail.com>
Committed: Tue Aug 11 20:52:58 2015 +0200

----------------------------------------------------------------------
 .../dynamic_function_interface/dyn_function.c                | 8 --------
 .../private/src/export_registration_dfi.c                    | 6 ++++++
 2 files changed, 6 insertions(+), 8 deletions(-)
----------------------------------------------------------------------


http://git-wip-us.apache.org/repos/asf/celix/blob/4c4a5e9b/remote_services/remote_service_admin_dfi/dynamic_function_interface/dyn_function.c
----------------------------------------------------------------------
diff --git 
a/remote_services/remote_service_admin_dfi/dynamic_function_interface/dyn_function.c
 
b/remote_services/remote_service_admin_dfi/dynamic_function_interface/dyn_function.c
index af3902c..0e12791 100644
--- 
a/remote_services/remote_service_admin_dfi/dynamic_function_interface/dyn_function.c
+++ 
b/remote_services/remote_service_admin_dfi/dynamic_function_interface/dyn_function.c
@@ -3,18 +3,10 @@
  */
 #include "dyn_function.h"
 
-#include <stdio.h>
-#include <stdarg.h>
 #include <strings.h>
-#include <string.h>
 #include <stdlib.h>
 
-#include <ffi.h>
-#include <ffi-x86_64.h>
-
 #include "dyn_common.h"
-#include "dyn_type.h"
-#include "dfi_log_util.h"
 
 struct _dyn_function_type {
     char *name;

http://git-wip-us.apache.org/repos/asf/celix/blob/4c4a5e9b/remote_services/remote_service_admin_dfi/private/src/export_registration_dfi.c
----------------------------------------------------------------------
diff --git 
a/remote_services/remote_service_admin_dfi/private/src/export_registration_dfi.c
 
b/remote_services/remote_service_admin_dfi/private/src/export_registration_dfi.c
index 0713efb..74512d3 100644
--- 
a/remote_services/remote_service_admin_dfi/private/src/export_registration_dfi.c
+++ 
b/remote_services/remote_service_admin_dfi/private/src/export_registration_dfi.c
@@ -162,6 +162,12 @@ celix_status_t 
exportRegistration_call(export_registration_pt export, char *data
 
         void *out = NULL;
         dynType_alloc(lastType, &out); //TODO, NOTE only for simple types or 
single pointer types.. TODO check
+
+        //NOTE !! Need to access out, else it is a dummy pointer which will 
result in errors.
+        char b;
+        memcpy(&b, out, 1);
+
+        dynType_alloc(lastType, &out); //TODO, NOTE only for simple types or 
single pointer types.. TODO check
         printf("out ptr is %p value is %f\n", out, *(double *)out);
         args[nrOfArgs-1] = &out; //NOTE for simple type no double
 

Reply via email to