safing-portmaster/service/mgr
Alexandr Stelnykovych 6c014d227c [fix] Panic while accessing SleepyTicker methods Stop()/SetSleep()
The time.Ticker object was stored as a value type, but it is expected to be a pointer according to its implementation:
```
func (t *Ticker) Stop()
func (t *Ticker) Reset(d Duration)
```

This was leading to an application crash.

STR 1:
Run `portmaster-core` without privileged rights. It will not be able to start the kernel driver (Windows).
During unloading of already initialized modules, the process crashes because of stopping SleepyTicker instances in workers of the "network" module.

STR 2:
Run tests from `service\mgr\sleepyticker_test.go`
2024-12-17 15:49:52 +02:00
..
doc.go Restructure modules () 2024-08-09 18:15:48 +03:00
events.go [service] Run event callbacks asynchronously 2024-08-28 11:55:32 +02:00
group.go [service] Make linter happy 2024-08-28 11:55:40 +02:00
group_ext.go Restructure modules () 2024-08-09 18:15:48 +03:00
manager.go [service] Add worker info system 2024-08-27 16:32:23 +02:00
sleepyticker.go [fix] Panic while accessing SleepyTicker methods Stop()/SetSleep() 2024-12-17 15:49:52 +02:00
sleepyticker_test.go [fix] Panic while accessing SleepyTicker methods Stop()/SetSleep() 2024-12-17 15:49:52 +02:00
states.go [service] Submit state clear event outside of lock 2024-08-28 11:55:01 +02:00
worker.go [service] Add worker info system 2024-08-27 16:32:23 +02:00
worker_info.go [service] Make linter happy 2024-08-28 11:55:40 +02:00
worker_test.go [service] Add worker info system 2024-08-27 16:32:23 +02:00
workermgr.go [service] Make linter happy 2024-08-28 11:55:40 +02:00
workermgr_test.go Restructure modules () 2024-08-09 18:15:48 +03:00