Skip to content

Commit d7fe4b0

Browse files
committed
tweaks to get it to compile
1 parent da3b73d commit d7fe4b0

File tree

1 file changed

+16
-1
lines changed

1 file changed

+16
-1
lines changed

src/queue.c

Lines changed: 16 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -868,7 +868,7 @@ _dispatch_root_queue_init_pthread_pool(dispatch_root_queue_context_t qc,
868868
(void)dispatch_assume(pqc->dpq_thread_mediator.dsema_port);
869869
#elif USE_POSIX_SEM
870870
/* XXXRW: POSIX semaphores don't support LIFO? */
871-
int ret = sem_init(&pqc->dpq_thread_mediator.dsema_sem), 0, 0);
871+
int ret = sem_init(&(pqc->dpq_thread_mediator.dsema_sem), 0, 0);
872872
(void)dispatch_assume_zero(ret);
873873
#endif
874874
}
@@ -1703,6 +1703,18 @@ _dispatch_queue_specific_queue_dispose(dispatch_queue_specific_queue_t dqsq)
17031703
{
17041704
dispatch_queue_specific_t dqs, tmp;
17051705

1706+
#ifdef __LINUX_PORT_HDD__
1707+
LINUX_PORT_ERROR();
1708+
// NOT CORRECT (doesn't support removal during iteration)
1709+
TAILQ_FOREACH(dqs, &dqsq->dqsq_contexts, dqs_list) {
1710+
if (dqs->dqs_destructor) {
1711+
dispatch_async_f(_dispatch_get_root_queue(
1712+
_DISPATCH_QOS_CLASS_DEFAULT, false), dqs->dqs_ctxt,
1713+
dqs->dqs_destructor);
1714+
}
1715+
free(dqs);
1716+
}
1717+
#else
17061718
TAILQ_FOREACH_SAFE(dqs, &dqsq->dqsq_contexts, dqs_list, tmp) {
17071719
if (dqs->dqs_destructor) {
17081720
dispatch_async_f(_dispatch_get_root_queue(
@@ -1711,6 +1723,7 @@ _dispatch_queue_specific_queue_dispose(dispatch_queue_specific_queue_t dqsq)
17111723
}
17121724
free(dqs);
17131725
}
1726+
#endif
17141727
_dispatch_queue_destroy((dispatch_queue_t)dqsq);
17151728
}
17161729

@@ -3020,6 +3033,8 @@ _dispatch_barrier_sync_slow(dispatch_queue_t dq, void (^work)(void))
30203033
work = _dispatch_Block_copy(work);
30213034
func = _dispatch_call_block_and_release;
30223035
}
3036+
#else
3037+
}
30233038
#endif
30243039
_dispatch_barrier_sync_f(dq, work, func, pp);
30253040
}

0 commit comments

Comments
 (0)