# The Filter Process Model

By default, Filter runs independently from the calling application process. This is called out-of-process filtering. Out-of-process filtering protects the stability of the calling application in the rare case when a malformed document causes Filter to fail. You can configure Filter to run in the same process as the calling application. This is called in-process filtering. However, it is strongly recommended you run Filter out of process whenever possible.

The creation of child processes on UNIX usually adheres to Portable Operating System Interface (POSIX) standards. AIX uses different thread semantics. If required, a version of `kvfilter` with POSIX thread semantics is available for AIX. This file is `kvfilter_nsl.a`. It must be renamed to `kvfilter.a` to be used by Filter.

To monitor and debug filtering operations during out-of-process filtering, you can generate an error log at run time. See Generate an Error Log.

The following methods run in process or out of process:

## Filter API

canFilter
canFilterEx
doFilter
doFilterChunk
getSummaryInfo
GetDocFormatInfo

## File Extraction API

extCloseDocument | extGetMainFileInfo
extGetSubFileInfo | extOpenDocument
extGetSubFileMetadata | getSummaryInfo
extExtractSubFile | KVGetExtractInterface()

Other Filter API methods always run in process.

_FT_HTML5_bannerTitle.htm