mirror of
https://github.com/tinygo-org/tinygo.git
synced 2026-08-06 20:13:40 +00:00
avr: fix time.Sleep() in init code
In the early days of TinyGo, the idea of `postinit` was to enable interrupts only after initializers have run. Which kind of makes sense... except that `time.Sleep` is allowed in init code and `time.Sleep` requires interrupts to be enabled. Therefore, interrupts must be enabled while initializers are being run. This commit simply moves the enabling of interrupts to a point right before running package initializers. It also removes `runtime.postinit`, which is not necessary anymore (and was only used on AVR).
This commit is contained in:
@@ -41,8 +41,6 @@ func __p___argc() *int32
|
||||
//export __p___argv
|
||||
func __p___argv() **unsafe.Pointer
|
||||
|
||||
func postinit() {}
|
||||
|
||||
//export mainCRTStartup
|
||||
func mainCRTStartup() int {
|
||||
preinit()
|
||||
|
||||
Reference in New Issue
Block a user