0
我想在Go中尝试打开一个超时的PE文件。为了实现这一点,我使用匿名函数,同时引导文件指针和错误。我使用带有超时情况的select子句来强制超时,如下所示。在golang中打开带有超时的PE文件
go func() {
f, e := pe.Open(filePath)
file <- f
err <- e
}()
select {
case <-fileOpenTimeout:
fmt.Printf("ERROR: Opening PE file timed out")
return
case fileError := <-err:
if fileError == nil{...}
}
此代码适用于我的用例。但是,如果文件打开时间过长,这可能会导致资源泄漏。我怎样才能防止这一点?是否有更好的方法来强制打开PE文件超时?