@@ -21,6 +21,7 @@ import (
2121 "context"
2222 "errors"
2323 "fmt"
24+ "io/fs"
2425 "math"
2526 "os"
2627 "path/filepath"
@@ -478,9 +479,9 @@ func (c *Manager) Delete() error {
478479 return remove (c .path )
479480}
480481
481- func (c * Manager ) Procs (recursive bool ) ([]uint64 , error ) {
482- var processes []uint64
483- err := filepath .Walk (c .path , func (p string , info os .FileInfo , err error ) error {
482+ func (c * Manager ) getTasks (recursive bool , tType string ) ([]uint64 , error ) {
483+ var tasks []uint64
484+ err := filepath .Walk (c .path , func (p string , info fs .FileInfo , err error ) error {
484485 if err != nil {
485486 return err
486487 }
@@ -491,17 +492,25 @@ func (c *Manager) Procs(recursive bool) ([]uint64, error) {
491492 return filepath .SkipDir
492493 }
493494 _ , name := filepath .Split (p )
494- if name != cgroupProcs {
495+ if name != tType {
495496 return nil
496497 }
497- procs , err := parseCgroupProcsFile (p )
498+ curTasks , err := parseCgroupTasksFile (p )
498499 if err != nil {
499500 return err
500501 }
501- processes = append (processes , procs ... )
502+ tasks = append (tasks , curTasks ... )
502503 return nil
503504 })
504- return processes , err
505+ return tasks , err
506+ }
507+
508+ func (c * Manager ) Procs (recursive bool ) ([]uint64 , error ) {
509+ return c .getTasks (recursive , cgroupProcs )
510+ }
511+
512+ func (c * Manager ) Threads (recursive bool ) ([]uint64 , error ) {
513+ return c .getTasks (recursive , cgroupThreads )
505514}
506515
507516func (c * Manager ) MoveTo (destination * Manager ) error {
0 commit comments