Skip to main content
Skip table of contents

Asynchronous actions

This page applies to Harlequin v13.1r0 and later; and to Harlequin Core but not Harlequin MultiRIP

It is possible to request the RIP to execute a PostScript language procedure asynchronously with the normal processing of a job. This is done with events. The asynchronous PostScript language action event specifies the number of the PostScript language procedure in the serviceinterrupt dictionary, defined in execdict, to be run. For details, see SWMSG__ASYNC__PS message and event. For example:

                        SWMSG_ASYNC_PS async_ps;
               = ps_action;
                        (void)SwEvent(SWEVT_ASYNC_PS, &async_ps, sizeof(async_ps));

Where ps_action is the number of the PostScript language procedure to execute, which must have been defined in the serviceinterrupt dictionary. The number must be in the range 0 to 31. Requests to run an asynchronous PostScript language action with an id greater than 31 will be ignored.

The return value from the call to SwEvent() can be ignored since it will be acted upon in a normal system.

Asynchronous PostScript language actions are run in the order they are requested. Multiple requests to run an asynchronous action that occur before it can be run are treated as a single request. The asynchronous action will not be run multiple times.

The entries in the serviceinterrupt dictionary are defined by a startup file. The content of the serviceinterrupt dictionary is different for each skin type (Harlequin Core or Harlequin MultiRIP). The values (procedure actions) are highly dependent on the skin, and best determined by you.

Asynchronous PS id of 31 is normally initialized to an action that will quit the RIP cleanly, and should not usually be changed.

JavaScript errors detected

Please note, these errors can depend on your browser setup.

If this problem persists, please contact our support.