# New Ticket Created by  Bernhard Schmalhofer 
# Please include the string:  [perl #31962]
# in the subject line of all future correspondence about this issue. 
# <URL: http://rt.perl.org:80/rt3/Ticket/Display.html?id=31962 >


Hi,

this a hack that should make support for 'libsyck', a YAML Parser in C,
possible.
Libsyck needs synchronous execution of callbacks, as the memory that is
passed back
to Parrot is reused by the external library.

A callback sub is marked as 'sychchronous' by setting the property
'_synchronous' of the user_data to a true PMC. A neater solutin would be
automatic detection of safe synchronous execution. When the external library
calls the callback, then no callback event is put into the event queue, but
the sub is executed immediately.

A test is included in t/pmc/nci.t .

In src/nci.c the variable names 'user_data' and 'external_data' are now
consistently used.

CU, Bernhard

-- 
/* [EMAIL PROTECTED] */

GMX ProMail mit bestem Virenschutz http://www.gmx.net/de/go/mail
+++ Empfehlung der Redaktion +++ Internet Professionell 10/04 +++

Attachment: synchronous_cb_20041013.patch
Description: Binary data

Reply via email to