fix: handle socket file detection on Windows

Cherry-picked 4060ee60c1
Update socket file detection logic to use os.Stat as per upstream
Go fix for golang/go#33357. This resolves
the issue where socket files could not be properly identified on
Windows systems.
This commit is contained in:
mansikulkarni96 2025-02-17 16:16:03 -05:00
parent dfc8b271cf
commit b9f6013c12
No known key found for this signature in database
GPG Key ID: 763AA1BBBAC1C99E

View File

@ -202,15 +202,12 @@ func (m *ManagerImpl) CleanupPluginDirectory(dir string) error {
if filePath == m.checkpointFile() { if filePath == m.checkpointFile() {
continue continue
} }
// TODO: Until the bug - https://github.com/golang/go/issues/33357 is fixed, os.stat wouldn't return the stat, err := os.Stat(filePath)
// right mode(socket) on windows. Hence deleting the file, without checking whether
// its a socket, on windows.
stat, err := os.Lstat(filePath)
if err != nil { if err != nil {
klog.ErrorS(err, "Failed to stat file", "path", filePath) klog.ErrorS(err, "Failed to stat file", "path", filePath)
continue continue
} }
if stat.IsDir() { if stat.IsDir() || stat.Mode()&os.ModeSocket == 0 {
continue continue
} }
err = os.RemoveAll(filePath) err = os.RemoveAll(filePath)