[Vm-dev] Re: [Pharo-dev] How to check whether the handle is always valid with NativeBoost ?

Eliot Miranda eliot.miranda at gmail.com
Thu Nov 13 17:37:40 UTC 2014


Hi Vincent,

   one way, used in VisualWorks, is to ensure that only valid handles
exist.  So very early at startup the system does some allInstances
invocations on the classes of handles and invalidates all the handles
found.  This doesn't fix handles stored as raw integers anywhere, but
provided the system is designed to have specific objects for external
handles (and I hope it is) this shouldn't happen.

Since snapshot is relatively rare and start-up relatively frequent (at
least in e.g. a web deployment context), one performance improvement is to
do the allInstances before snapshot, and then merely enumerate the
collection of handles, rather than use allInstances.

On Thu, Nov 13, 2014 at 9:05 AM, Blondeau Vincent <
vincent.blondeau at worldline.com> wrote:

>  Hi !
>
>
>
> I am doing a binding to the R library with NativeBoost.
>
> So I create some external objects and apply some functions on them.
>
>
>
> If the handle to the object is not valid, either the function crashes or
> gives a bad result.
>
>
>
> How can I ensure to have a valid pointer at anytime ?
>
>
>
> I see two solutions:
>
> -          Either check at any NativeBoost call that the handle is valid
> (by checking the session id)
>
> -          Or do a proxy that checks the session and recreate the
> external object.
>
>
>
> What do you think ?
>
>
>
> Thanks in advance,
>
>
>
> Cheers,
>
> Vincent BLONDEAU
>
>
>
> ------------------------------
>
> Ce message et les pièces jointes sont confidentiels et réservés à l'usage
> exclusif de ses destinataires. Il peut également être protégé par le secret
> professionnel. Si vous recevez ce message par erreur, merci d'en avertir
> immédiatement l'expéditeur et de le détruire. L'intégrité du message ne
> pouvant être assurée sur Internet, la responsabilité de Worldline ne pourra
> être recherchée quant au contenu de ce message. Bien que les meilleurs
> efforts soient faits pour maintenir cette transmission exempte de tout
> virus, l'expéditeur ne donne aucune garantie à cet égard et sa
> responsabilité ne saurait être recherchée pour tout dommage résultant d'un
> virus transmis.
>
> This e-mail and the documents attached are confidential and intended
> solely for the addressee; it may also be privileged. If you receive this
> e-mail in error, please notify the sender immediately and destroy it. As
> its integrity cannot be secured on the Internet, the Worldline liability
> cannot be triggered for the message content. Although the sender endeavours
> to maintain a computer virus-free network, the sender does not warrant that
> this transmission is virus-free and will not be liable for any damages
> resulting from any virus transmitted.
>



-- 
best,
Eliot
-------------- next part --------------
An HTML attachment was scrubbed...
URL: http://lists.squeakfoundation.org/pipermail/vm-dev/attachments/20141113/165fb64a/attachment.htm


More information about the Vm-dev mailing list