wiki:Documentation/API/MUI_Process

Process.mui

Super class

Semaphore.mui

Inherited by

Slave.mui

Background

Process class simplifies the creation of subtasks to execute stuff in parallel to the rest of the application. Typically a process object is 'embedded' into a class instead of being subclassed. See Class4 demo for details.

Note: a subprocess must NOT invoke any method of any of the application's objects. All methods must be pushed onto the application's method stack by invoking MUIM_Application_PushMethod. Already pushed methods can be unpushed using MUIM_Application_UnpushMethod in case it might be possible that the pushed method may be executed after the destination object has been disposed.

Attributes

Attribute Version ISG Type
MUIA_Process_AutoLaunch V20I..ULONG
MUIA_Process_Name V20I..ULONG
MUIA_Process_Priority V20I..ULONG
MUIA_Process_SourceClass V20I..ULONG
MUIA_Process_SourceObject V20I..ULONG
MUIA_Process_StackSize V20I..ULONG
MUIA_Process_Task V20..GULONG


Methods

Method Version
MUIM_Process_Kill V20
MUIM_Process_Launch V20
MUIM_Process_Process V20
MUIM_Process_Signal V20


MUIA_Process_AutoLaunch

NAME

MUIA_Process_AutoLaunch — V20 [I..], ULONG, 0x80428855

FUNCTION

If set to TRUE process loop is started right after the object instance is created.

Defaults to TRUE.

EXAMPLE

See supplied Process class example (Class4)

MUIA_Process_Name

NAME

MUIA_Process_Name — V20 [I..], ULONG, 0x8042732b

FUNCTION

Specifies a name for the process. The name will be copied. If no name is specified a suitable one will be generated automatically.

EXAMPLE

See supplied Process class example (Class4)

MUIA_Process_Priority

NAME

MUIA_Process_Priority — V20 [I..], ULONG, 0x80422a54

FUNCTION

Specifies a priority for the process. Defaults to the same priority as the calling process and shouldn't be changed if not needed.

EXAMPLE

See supplied Process class example (Class4)

MUIA_Process_SourceClass

NAME

MUIA_Process_SourceClass — V20 [I..], ULONG, 0x8042cf8b

FUNCTION

To make it possible to 'embedd' process class instance into custom class this attribute should point to the container class. MUIM_Process_Process method will be called using class given with this attribute and an object specified with MUIA_Process_SourceObject.

EXAMPLE

See supplied Process class example (Class4)

SEE ALSO

MUIA_Process_SourceObject

MUIA_Process_SourceObject

NAME

MUIA_Process_SourceObject — V20 [I..], ULONG, 0x804212a2

FUNCTION

To make it possible to embed process class instance into a custom class this attribute should point to the container object. MUIM_Process_Process method will be called using class given with MUIA_Process_SourceClass and an object specified with MUIA_Process_SourceObject.

EXAMPLE

See supplied Process class example (Class4)

SEE ALSO

MUIA_Process_SourceClass

MUIA_Process_StackSize

NAME

MUIA_Process_StackSize — V20 [I..], ULONG, 0x804230d0

FUNCTION

Specifies a stack size for the new process. Defaults to 32K.

EXAMPLE

See supplied Process class example (Class4)

MUIA_Process_Task

NAME

MUIA_Process_Task — V20 [..G], ULONG, 0x8042b123

FUNCTION

Returns a pointer to the created process.

MUIM_Process_Kill

NAME

MUIM_Process_Kill — V20, 0x804264cf

SYNOPSIS

DoMethod(obj, MUIM_Process_Kill, LONG maxdelay);

FUNCTION

Stops process' loop (MUIM_Process_Process). If the loop is not running does nothing.

INPUTS

LONG maxdelay
the maximum time in seconds to wait until the child task eventually terminates

RESULT

A boolean values which indicated whether killing the child task was successful or not.

EXAMPLE

See supplied Process class example (Class4)

MUIM_Process_Launch

NAME

MUIM_Process_Launch — V20, 0x80425df7

SYNOPSIS

DoMethod(obj, MUIM_Process_Launch);

FUNCTION

Starts process' loop (MUIM_Process_Process). If the loop is already running does nothing.

EXAMPLE

See supplied Process class example (Class4)

MUIM_Process_Process

NAME

MUIM_Process_Process — V20, 0x804230aa

SYNOPSIS

DoMethod(obj, MUIM_Process_Process, ULONG *kill, Object *proc);

FUNCTION

Main process method. Terminating condition is passed in message struct. A proper implementation should wait for a signal to not use 100% cpu.

INPUTS

ULONG *kill
stay in the process' main loop as long as this variable is zero.
Object *proc
a pointer to the Process object itself.

EXAMPLE

See supplied Process class example (Class4)

MUIM_Process_Signal

NAME

MUIM_Process_Signal — V20, 0x8042e791

SYNOPSIS

DoMethod(obj, MUIM_Process_Signal, ULONG sigs);

FUNCTION

Sends a signal mask to the created process.

INPUTS

ULONG sigs
a signal mask to send to the Process' child task.

EXAMPLE

See supplied Process class example (Class4)


Copyright © 1992-2006 by Stefan Stuntz
Copyright © 2006-2017 by Thore Böckelmann, Jens Maus

MUI for AmigaOS - MUI-Autodocs

Updated: 12-Oct-2017

Last modified 7 months ago Last modified on Mar 27, 2017, 4:07:46 PM