---
name: "hal_start_threads"
section: "3hal"
platform: "linux"
package: "linuxcnc-uspace-dev"
version: "1:2.9.4-2+deb13u1"
release: "Debian 13 (Trixie)"
platforms: ["linux"]
url: "https://new.carta.tech/hal_start_threads"
---

# hal\_start\_threads(3hal)

Allow HAL threads to begin executing

## NAME

hal\_start\_threads - Allow HAL threads to begin executing

## SYNTAX

int hal\_start\_threads()

int hal\_stop\_threads()

## ARGUMENTS

## DESCRIPTION

**hal\_start\_threads** starts all threads that have been created.  This is the point at which realtime functions start being called.

**hal\_stop\_threads** stops all threads that were previously started by **hal\_start\_threads**.  It should be called before any component that is part of a system exits.

## RETURN VALUE

Returns a HAL status code.

## SEE ALSO

**[hal\_export\_funct(3hal)](/hal_export_funct/3hal.md)**, **[hal\_create\_thread(3hal)](/hal_create_thread/3hal.md)**, **[hal\_add\_funct\_to\_thread(3hal)](/hal_add_funct_to_thread/3hal.md)**
