JS_RemoveExternalStringFinalizer

There was a scripting error on this page. While it is being addressed by site editors, you can view partial content below.

{{SpiderMonkeySidebar("JSAPI")}}

{{ obsolete_header("jsapi13") }}

Unregister a custom string memory manager.

Syntax

int
JS_RemoveExternalStringFinalizer(JSStringFinalizeOp finalizer);
Name Type Description
finalizer {{jsapixref("JS_AddExternalStringFinalizer", "JSStringFinalizeOp")}} The finalizer to remove.

Description

Remove finalizer from the global GC finalizers table, returning its type code if found, -1 if not found.

As with {{jsapixref("JS_AddExternalStringFinalizer")}}, there is a threading restriction if you compile the engine {{jsapixref("JS_THREADSAFE")}}: this function may be called for a given finalizer pointer on only one thread; different threads may call to remove distinct finalizers safely.

You must ensure that all strings with finalizer's type have been collected before calling this function. Otherwise, string data will be leaked by the GC, for want of a finalizer to call.

See Also

  • {{jsapixref("JS_AddExternalStringFinalizer")}}
  • {{bug(724810)}}

Document Tags and Contributors

Contributors to this page: teoli, arai, fscholz, tschneidereit, Jorend
Last updated by: teoli,