You are viewing a plain text version of this content. The canonical link for it is here.
Posted to issues@nifi.apache.org by "Mr TheSegfault (JIRA)" <ji...@apache.org> on 2019/03/05 19:46:01 UTC
[jira] [Resolved] (MINIFICPP-751) RAII over JNI UTF strings
[ https://issues.apache.org/jira/browse/MINIFICPP-751?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel ]
Mr TheSegfault resolved MINIFICPP-751.
--------------------------------------
Resolution: Fixed
> RAII over JNI UTF strings
> -------------------------
>
> Key: MINIFICPP-751
> URL: https://issues.apache.org/jira/browse/MINIFICPP-751
> Project: NiFi MiNiFi C++
> Issue Type: Improvement
> Reporter: Arpad Boda
> Assignee: Arpad Boda
> Priority: Minor
> Time Spent: 1h 10m
> Remaining Estimate: 0h
>
> In this PR #489 I've noticed that JNI UTF string usage is error-prone as releasing can be easily missed by the developer or simply get skipped because of an exception.
> To avoid this my idea was to create a wrapper object that can be used as an std::string and handles get/release calls.
> As [~phrocker] pointed out, this object has to be kept in a small block to avoid storing ref on both the string itself and the JNI env.
> This can partly be achieved by blocking copy/move construction/assigment and new, but still leaves some possibility to allocate this object on heap.
> In my opinion the restrictions above with some comments in the class would help and make it safer, although I'm not sure it worth the effort.
>
> [~phrocker], [~aldrin], what's your opinion?
--
This message was sent by Atlassian JIRA
(v7.6.3#76005)