Merge branch 'amiranda/47-the-c-api-should-not-rely-on-unique_ptr' into 'main'
Resolve "The C++ API should not rely on `unique_ptr`" This MR removes the need to pass a `std::unique_ptr<admire::storage>` argument to `register_adhoc_storage` in the C++ API. Tests are also updated to reflect this change and to remove dependencies with `ADM_storage_create()`, which in the future will become an internal function. Finally, we fix some use-after-free memory management errors due to shortcomings in `managed_ctype`s and the creation function of C API types themselves. The errors are "fixed" by not deleting the data, which means that we are now effectively leaking. So that tests pass, we set `detect_leaks=0` in `ASAN_OPTIONS`. Closes #47 See merge request !42
No related branches found
No related tags found
Showing
- .gitlab-ci.yml 1 addition, 1 deletion.gitlab-ci.yml
- examples/c/ADM_cancel_transfer.c 15 additions, 5 deletionsexamples/c/ADM_cancel_transfer.c
- examples/c/ADM_connect_data_operation.c 16 additions, 5 deletionsexamples/c/ADM_connect_data_operation.c
- examples/c/ADM_define_data_operation.c 16 additions, 5 deletionsexamples/c/ADM_define_data_operation.c
- examples/c/ADM_deploy_adhoc_storage.c 0 additions, 7 deletionsexamples/c/ADM_deploy_adhoc_storage.c
- examples/c/ADM_finalize_data_operation.c 16 additions, 5 deletionsexamples/c/ADM_finalize_data_operation.c
- examples/c/ADM_get_pending_transfers.c 16 additions, 5 deletionsexamples/c/ADM_get_pending_transfers.c
- examples/c/ADM_get_qos_constraints.c 16 additions, 5 deletionsexamples/c/ADM_get_qos_constraints.c
- examples/c/ADM_get_statistics.c 16 additions, 5 deletionsexamples/c/ADM_get_statistics.c
- examples/c/ADM_get_transfer_priority.c 16 additions, 5 deletionsexamples/c/ADM_get_transfer_priority.c
- examples/c/ADM_link_transfer_to_data_operation.c 16 additions, 5 deletionsexamples/c/ADM_link_transfer_to_data_operation.c
- examples/c/ADM_register_adhoc_storage.c 0 additions, 7 deletionsexamples/c/ADM_register_adhoc_storage.c
- examples/c/ADM_register_job.c 17 additions, 6 deletionsexamples/c/ADM_register_job.c
- examples/c/ADM_register_pfs_storage.c 0 additions, 3 deletionsexamples/c/ADM_register_pfs_storage.c
- examples/c/ADM_remove_adhoc_storage.c 0 additions, 7 deletionsexamples/c/ADM_remove_adhoc_storage.c
- examples/c/ADM_remove_job.c 16 additions, 5 deletionsexamples/c/ADM_remove_job.c
- examples/c/ADM_remove_pfs_storage.c 0 additions, 3 deletionsexamples/c/ADM_remove_pfs_storage.c
- examples/c/ADM_set_dataset_information.c 16 additions, 5 deletionsexamples/c/ADM_set_dataset_information.c
- examples/c/ADM_set_io_resources.c 16 additions, 5 deletionsexamples/c/ADM_set_io_resources.c
- examples/c/ADM_set_qos_constraints.c 16 additions, 5 deletionsexamples/c/ADM_set_qos_constraints.c
Please register or sign in to comment