Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Release rcl nif resources when GerServer terminates #160

Open
pojiro opened this issue Jul 18, 2022 · 0 comments
Open

Release rcl nif resources when GerServer terminates #160

pojiro opened this issue Jul 18, 2022 · 0 comments

Comments

@pojiro
Copy link
Contributor

pojiro commented Jul 18, 2022

NIF経由でリソースを確保する rcl 自身のリソースの解放を GenServer の terminate で行うようにするのがよいと思います。
理由は、リソース解放を terminate に委ねることで、 GenServer を殺すだけでリソースが開放できると考えられるからです。
この方法をとると、意図せず GenServer が死んだ場合でもリソース解放が行わることになりリークがなくります。

takasehideki added a commit that referenced this issue Sep 21, 2022
**Full Changelog**: v0.7.0...v0.7.1

* New Contributors: @pojiro 🎉
* New features:
  * Improve unit test environment on local dev machine by @pojiro in #131
* Code Improvements/Fixes:
  * Enrich doc and specs with the awesome contributions by @pojiro (e.g., in #121)
  * Enrich unit tests with the awesome contributions by @pojiro (e.g., in #136)
  * Improve credo config, .credo.exs by @pojiro in #120
  * exclude auto-generated files format by @pojiro in #135
  * refactor Rclex.ResourceServer.call_nifs_rcl_node_init/5 by @pojiro in #147
  * fix node name bug, when it attributes a namespace (and also fix #142) by @pojiro in #149
  * Remove KeepSub module which is unused (also fix dialyzer error) by @s-hosoai in #164
  * Improve README by @takasehideki in #171
* Bumps:
  * `credo` from 1.6.4 to 1.6.5 in #162
* Known issues to be addressed in the near future:
  * Lock `git_hooks` to 0.6.5 due to its issue in #138
  * Bump to Humble Hawksbill in #114
  * Release rcl nif resources when GerServer terminates in #160
* Note in this release:
  * After long consideration, we have decided to end the support for Dashing as the target environment 6ae367d
takasehideki added a commit that referenced this issue Sep 22, 2022
**Full Changelog**: v0.7.1...v0.7.2

* New features: none
* Code Improvements/Fixes:
  * change the recommended env and target versions for GitHub Actions CI by @takasehideki in #173
  * Enable Dialyzer on GitHub Actions (remove uncheck and ignore exit options) by @s-hosoai in #165
  * elinimate errors in `mix dialyzer` on GHA (fix #174) by @takasehideki in #175
* Bumps:
  * `dialyxir` from 1.1.0 to 1.2.0 in #166
  *  `ex_doc` from 0.28.4 to 0.28.5 in #168
  * `credo` from 1.6.5 to 1.6.7 by #169
* Known issues to be addressed in the near future:
  * Lock `git_hooks` to 0.6.5 due to its issue in #138
  * Bump to Humble Hawksbill in #114
  * Release rcl nif resources when GerServer terminates in #160
* Note in this release:
  * The recommended environment is changed to the following versions
    * Ubuntu 20.04.2 LTS (Focal Fossa)
    * ROS 2 [Foxy Fitzroy](https://docs.ros.org/en/foxy/Releases/Release-Foxy-Fitzroy.html)
    * Elixir 1.13.4-otp-25
    * Erlang/OTP 25.0.3
This was referenced Dec 3, 2022
takasehideki added a commit that referenced this issue Dec 12, 2022
**Full Changelog**: v0.8.2...v0.8.3

* New features: none
  * Add arm32v7 support to mix rclex.prep.ros2 by @pojiro in #210
* Code Improvements/Fixes:
  * improve doc about docker env by @takasehideki in #208
  * Remove useless gitignore line by @pojiro in #211
  * insert sleep before publishing on example code (see #212) by @takasehideki in #213
* Bumps:
  * Bump elixir_make from 0.7.0 to 0.7.1 by @dependabot in #209
* Known issues to be addressed in the near future:
  * `publish/2` sometimes failed just after `create_publisher/3` in #212
  * Lock `git_hooks` to 0.6.5 due to its issue in #138
  * Bump to Humble Hawksbill in #114
  * Release rcl nif resources when GerServer terminates in #160
* Note in this release: none
takasehideki added a commit that referenced this issue Apr 11, 2023
**Full Changelog**: v0.8.3...v0.8.4

* New features: none
* Code Improvements/Fixes:
  * Fix typos by @kianmeng in #217
* Bumps:
  * Bump elixir_make from 0.7.1 to 0.7.6
  * Bump ex_doc from 0.29.1 to 0.29.4
  * Bump credo from 1.6.7 to 1.7.0
  * Bump dialyxir from 1.2.0 to 1.3.0
* Known issues to be addressed in the near future:
  * `publish/2` sometimes failed just after `create_publisher/3` in #212
  * Lock `git_hooks` to 0.6.5 due to its issue in #138
  * Bump to Humble Hawksbill in #114
  * Release rcl nif resources when GerServer terminates in #160
* Note in this release: none
takasehideki added a commit that referenced this issue Jun 4, 2023
**Full Changelog**: v0.8.4...v0.8.5

* New features:
  * * Adding handling for nested Message types from different Packages by @steve-at in #230
* Code Improvements/Fixes: none
* Bumps:
  * Bump elixir_make from 0.7.6 to 0.7.7
* Known issues to be addressed in the near future:
  * `publish/2` sometimes failed just after `create_publisher/3` in #212
  * Lock `git_hooks` to 0.6.5 due to its issue in #138
  * Bump to Humble Hawksbill in #114
  * Bump to Iron Irwini in #228
  * Release rcl nif resources when GerServer terminates in #160
* Note in this release: none
takasehideki added a commit that referenced this issue Sep 11, 2023
**Full Changelog**: v0.8.5...v0.9.0

* New features:
  * Support Humble (and format with Elixir 1.15.5) by @pojiro in #241
  * Support humble, galactic Nerves by @pojiro in #244
  * change the recommended environment and versions by @takasehideki in #247
  * Add humble support to arm32v7_ros_distros by @pojiro in #248
* Code Improvements/Fixes:
  * Fix bug of `mix rclex.gen.msgs` by @pojiro in #236
  * fix docs about ROS_DISTRO from `foxy` to `humble` by @takasehideki in #249
* Bumps:
  * Bump ex_doc from 0.29.4 to 0.30.6 by @dependabot in #234 #237 #238
  * Bump dialyxir from 1.3.0 to 1.4.1 by @dependabot in #240
  * Bump mix_test_watch from 1.1.0 to 1.1.1 by @dependabot in #242
* Known issues to be addressed in the near future:
  * Lock `git_hooks` to 0.6.5 due to its issue in #138
  * Release rcl nif resources when GerServer terminates in #160
  * `publish/2` sometimes failed just after `create_publisher/3` in #212
  * CI fails randomly at mix test in #246
  * Bump to Iron Irwini in #228
* Note in this release:
  * Please welcome Humble Hawksbill as the new supported distribution for Rclex!! 🎉
takasehideki added a commit that referenced this issue Sep 11, 2023
**Full Changelog**: v0.8.5...v0.9.0

* New features:
  * Support Humble (and format with Elixir 1.15.5) by @pojiro in #241
  * Support humble, galactic Nerves by @pojiro in #244
  * change the recommended environment and versions by @takasehideki in #247
  * Add humble support to arm32v7_ros_distros by @pojiro in #248
* Code Improvements/Fixes:
  * Fix bug of `mix rclex.gen.msgs` by @pojiro in #236
  * fix docs about ROS_DISTRO from `foxy` to `humble` by @takasehideki in #249
* Bumps:
  * Bump ex_doc from 0.29.4 to 0.30.6 by @dependabot in #234 #237 #238
  * Bump dialyxir from 1.3.0 to 1.4.1 by @dependabot in #240
  * Bump mix_test_watch from 1.1.0 to 1.1.1 by @dependabot in #242
* Known issues to be addressed in the near future:
  * Lock `git_hooks` to 0.6.5 due to its issue in #138
  * Release rcl nif resources when GerServer terminates in #160
  * `publish/2` sometimes failed just after `create_publisher/3` in #212
  * CI fails randomly at mix test in #246
  * Bump to Iron Irwini in #228
* Note in this release:
  * Please welcome Humble Hawksbill (and Galactic Geochelone) as the new supported distribution for Rclex!! 🎉
takasehideki added a commit that referenced this issue Sep 12, 2023
**Full Changelog**: v0.9.0...v0.9.1

* New features:
  * Experimental support for Iron Irwini by @takasehideki in #251
* Code Improvements/Fixes: none
* Bumps: none
* Known issues to be addressed in the near future:
  * Lock `git_hooks` to 0.6.5 due to its issue in #138
  * Release rcl nif resources when GerServer terminates in #160
  * `publish/2` sometimes failed just after `create_publisher/3` in #212
  * CI fails randomly at mix test in #246
  * Bump to Iron Irwini, for Docker and Nerves environments in #228
* Note in this release:
  * Please welcome Iron Irwini as the experimental supported distribution for Rclex!! 🎉
takasehideki added a commit that referenced this issue Oct 3, 2023
**Full Changelog**: v0.9.1...v0.9.2

* New features: none
* Code Improvements/Fixes:
  * add ROS_INCS path for using with Iron properly (fix #253) by @takasehideki in #256
* Bumps:
  * Bump credo from 1.7.0 to 1.7.1 by @dependabot in #254
* Known issues to be addressed in the near future:
  * Lock `git_hooks` to 0.6.5 due to its issue in #138
  * Release rcl nif resources when GerServer terminates in #160
  * `publish/2` sometimes failed just after `create_publisher/3` in #212
  * CI fails randomly at mix test in #246
  * Bump to Iron Irwini, for Docker and Nerves environments in #228
* Note in this release: none
takasehideki added a commit that referenced this issue Feb 23, 2024
**Full Changelog**: v0.9.2...v0.9.3

* New features: none
* Code Improvements/Fixes:
  * add section of presentations (Code BEAM America 2021 and 2022) by @takasehideki in #262
* Bumps:
  * Bump dialyxir from 1.4.1 to 1.4.3 by @dependabot in #279
  * Bump ex_doc from 0.30.6 to 0.31.1 by @dependabot in #283
  * Bump elixir_make from 0.7.7 to 0.7.8 by @dependabot in #287
  * Bump credo from 1.7.1 to 1.7.3 by @dependabot in #282
  * Bump mix_test_watch from 1.1.1 to 1.1.2 by @dependabot in #288
  * Bump credo from 1.7.3 to 1.7.5 by @dependabot in #289
* Known issues to be addressed in the near future:
  * Lock `git_hooks` to 0.6.5 due to its issue in #138
  * Release rcl nif resources when GerServer terminates in #160
  * `publish/2` sometimes failed just after `create_publisher/3` in #212
  * CI fails randomly at mix test in #246
  * Bump to Iron Irwini, for Docker and Nerves environments in #228
* Note in this release:
  * This release is mainly as a record just prior to v0.10.0, which is scheduled to involve major changes
  * We found there is a credo error in "code-analysis", but we decide to ignore it for now because we are soon going to v0.10.0! (if this is still an issue then, consider it at that time,,,
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

No branches or pull requests

1 participant