Skip to content

Commit 103ebeb

Browse files
committed
Merge pull request #41 from tokorom/fix_memory_leak
Fix the memory leak in _RecursiveLock
2 parents c964fdf + af4e5eb commit 103ebeb

File tree

1 file changed

+6
-3
lines changed

1 file changed

+6
-3
lines changed

SwiftTask/_RecursiveLock.swift

Lines changed: 6 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -15,8 +15,8 @@ internal final class _RecursiveLock
1515

1616
internal init()
1717
{
18-
self.mutex = UnsafeMutablePointer.alloc(sizeof(pthread_mutex_t))
19-
self.attribute = UnsafeMutablePointer.alloc(sizeof(pthread_mutexattr_t))
18+
self.mutex = UnsafeMutablePointer<pthread_mutex_t>.alloc(1)
19+
self.attribute = UnsafeMutablePointer<pthread_mutexattr_t>.alloc(1)
2020

2121
pthread_mutexattr_init(self.attribute)
2222
pthread_mutexattr_settype(self.attribute, PTHREAD_MUTEX_RECURSIVE)
@@ -27,6 +27,9 @@ internal final class _RecursiveLock
2727
{
2828
pthread_mutexattr_destroy(self.attribute)
2929
pthread_mutex_destroy(self.mutex)
30+
31+
self.attribute.dealloc(1)
32+
self.mutex.dealloc(1)
3033
}
3134

3235
internal func lock()
@@ -38,4 +41,4 @@ internal final class _RecursiveLock
3841
{
3942
pthread_mutex_unlock(self.mutex)
4043
}
41-
}
44+
}

0 commit comments

Comments
 (0)