Add memory limit

This commit is contained in:
problematicconsumer
2023-10-26 15:12:56 +03:30
parent ec16b2ad1b
commit 57b239c0f3

View File

@@ -57,7 +57,7 @@ func changeConfigOptions(configOptionsJson *C.char) (CErr *C.char) {
} }
//export start //export start
func start(configPath *C.char) (CErr *C.char) { func start(configPath *C.char, disableMemoryLimit bool) (CErr *C.char) {
defer shared.DeferPanicToError("start", func(err error) { defer shared.DeferPanicToError("start", func(err error) {
CErr = C.CString(err.Error()) CErr = C.CString(err.Error())
}) })
@@ -69,6 +69,8 @@ func start(configPath *C.char) (CErr *C.char) {
path := C.GoString(configPath) path := C.GoString(configPath)
activeConfigPath = &path activeConfigPath = &path
libbox.SetMemoryLimit(!disableMemoryLimit)
err := startService() err := startService()
if err != nil { if err != nil {
return C.CString(err.Error()) return C.CString(err.Error())
@@ -141,7 +143,7 @@ func stop() (CErr *C.char) {
} }
//export restart //export restart
func restart(configPath *C.char) (CErr *C.char) { func restart(configPath *C.char, disableMemoryLimit bool) (CErr *C.char) {
defer shared.DeferPanicToError("restart", func(err error) { defer shared.DeferPanicToError("restart", func(err error) {
CErr = C.CString(err.Error()) CErr = C.CString(err.Error())
}) })
@@ -157,7 +159,7 @@ func restart(configPath *C.char) (CErr *C.char) {
if C.GoString(err) != "" { if C.GoString(err) != "" {
return err return err
} }
err = start(configPath) err = start(configPath, disableMemoryLimit)
if C.GoString(err) != "" { if C.GoString(err) != "" {
return err return err
} }