Changeset 9565a093f9fce8aa15e54990e9fd9d3086b41b08
- Timestamp:
- 05/29/08 23:47:17
(3 months ago)
- Author:
- Pierre d'Herbemont <pdherbemont@videolan.org>
- git-committer:
- Pierre d'Herbemont <pdherbemont@videolan.org> 1212097637 +0200
- git-parent:
[003c1216d89735a273e075c66a3af0f7655a54ae]
- git-author:
- Pierre d'Herbemont <pdherbemont@videolan.org> 1212097637 +0200
- Message:
signals: Workaround the fact that sigwait() isn't a pthread cancellation point on Mac OS X.
-
Files:
-
Legend:
- Unmodified
- Added
- Removed
- Modified
- Copied
- Moved
| r0efa83a |
r9565a09 |
|
| 79 | 79 | |
|---|
| 80 | 80 | pthread_cancel (p_sys->thread); |
|---|
| | 81 | #ifdef __APPLE__ |
|---|
| | 82 | /* In Mac OS X up to 10.5 sigwait (among others) is not a pthread |
|---|
| | 83 | * cancellation point, so we throw a dummy quit signal to end |
|---|
| | 84 | * sigwait() in the sigth thread */ |
|---|
| | 85 | pthread_kill (p_sys->thread, SIGQUIT); |
|---|
| | 86 | # endif |
|---|
| 81 | 87 | pthread_join (p_sys->thread, NULL); |
|---|
| 82 | 88 | free (p_sys); |
|---|
| … | … | |
| 102 | 108 | |
|---|
| 103 | 109 | sigwait (&set, &signum); |
|---|
| | 110 | |
|---|
| | 111 | #ifdef __APPLE__ |
|---|
| | 112 | /* In Mac OS X up to 10.5 sigwait (among others) is not a pthread |
|---|
| | 113 | * cancellation point */ |
|---|
| | 114 | pthread_testcancel(); |
|---|
| | 115 | #endif |
|---|
| 104 | 116 | |
|---|
| 105 | 117 | vlc_object_lock (obj); |
|---|