Skip to content

Commit bf9e3ce

Browse files
committed
Fix deadlock issue with RSS subscriptions (Issue #1526)
1 parent a8ad716 commit bf9e3ce

1 file changed

Lines changed: 5 additions & 4 deletions

File tree

scheduler/ipp.c

Lines changed: 5 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -3537,14 +3537,15 @@ static int /* O - 1 if OK, 0 if not */
35373537
check_rss_recipient(
35383538
const char *recipient) /* I - Recipient URI */
35393539
{
3540-
int i, /* Looping var */
3540+
int ret = 1, /* Return value */
3541+
i, /* Looping var */
35413542
scount; /* Number of subscriptions */
35423543
cupsd_subscription_t *sub; /* Current subscription */
35433544

35443545

35453546
cupsRWLockRead(&SubscriptionsLock);
35463547

3547-
for (i = 0, scount = cupsArrayGetCount(Subscriptions); i < scount; i ++)
3548+
for (i = 0, scount = cupsArrayGetCount(Subscriptions); ret && i < scount; i ++)
35483549
{
35493550
sub = (cupsd_subscription_t *)cupsArrayGetElement(Subscriptions, i);
35503551

@@ -3561,13 +3562,13 @@ check_rss_recipient(
35613562
r1 ++, r2 ++);
35623563

35633564
if (*r1 == *r2)
3564-
return (0);
3565+
ret = 0;
35653566
}
35663567
}
35673568

35683569
cupsRWUnlock(&SubscriptionsLock);
35693570

3570-
return (1);
3571+
return (ret);
35713572
}
35723573

35733574

0 commit comments

Comments
 (0)