diff options
Diffstat (limited to 'lib/libalpm/trans.c')
-rw-r--r-- | lib/libalpm/trans.c | 5 |
1 files changed, 4 insertions, 1 deletions
diff --git a/lib/libalpm/trans.c b/lib/libalpm/trans.c index aea71db1..4879d236 100644 --- a/lib/libalpm/trans.c +++ b/lib/libalpm/trans.c @@ -261,7 +261,10 @@ int SYMEXPORT alpm_trans_release() /* unlock db */ if(!nolock_flag) { if(handle->lckfd != -1) { - while(close(handle->lckfd) == -1 && errno == EINTR); + int fd; + do { + fd = close(handle->lckfd); + } while(fd == -1 && errno == EINTR); handle->lckfd = -1; } if(_alpm_lckrm()) { |