Skip to content

Commit d1b0ecc

Browse files
committed
feat: update the lib install process
Signed-off-by: peefy <[email protected]>
1 parent c8a16b5 commit d1b0ecc

File tree

1 file changed

+8
-9
lines changed

1 file changed

+8
-9
lines changed

go/install/install.go

Lines changed: 8 additions & 9 deletions
Original file line numberDiff line numberDiff line change
@@ -53,11 +53,6 @@ func InstallKclvm(installRoot string) error {
5353
if err != nil {
5454
return err
5555
}
56-
versionMatched, err := checkVersion(installRoot)
57-
if err != nil {
58-
return err
59-
}
60-
6156
err = os.MkdirAll(installRoot, 0777)
6257
if err != nil {
6358
return err
@@ -67,14 +62,18 @@ func InstallKclvm(installRoot string) error {
6762
fileLock := flock.New(lockFilePath)
6863

6964
// Try to obtain a lock with a timeout.
70-
locked, err := fileLock.TryLock()
65+
err = fileLock.Lock()
7166
if err != nil {
7267
return err
7368
}
74-
if !locked {
75-
return fmt.Errorf("another installation is already in progress")
69+
// Ensure the lock is released when done.
70+
defer fileLock.Unlock()
71+
72+
// Check the lib is installed.
73+
versionMatched, err := checkVersion(installRoot)
74+
if err != nil {
75+
return err
7676
}
77-
defer fileLock.Unlock() // Ensure the lock is released when done.
7877

7978
// Install kclvm libs.
8079
err = installLib(installRoot, "kclvm_cli_cdylib", versionMatched)

0 commit comments

Comments
 (0)