1 |
On 01/06/2018 05:05 AM, Ulrich Mueller wrote: |
2 |
>>>>>> On Sat, 6 Jan 2018, Duncan wrote: |
3 |
>> $ equery b news.eselect |
4 |
>> app-admin/eselect-1.4.10 (/usr/share/eselect/modules/news.eselect) |
5 |
>> So in that case it's not the PM, but eselect. |
6 |
> In fact, it is the PM that would do the filtering, before filling the |
7 |
> list of unread news items in /var/lib/gentoo/news/news-gentoo.read. |
8 |
> |
9 |
> Filtering in eselect news would be problematic: Obtaining the list |
10 |
> of items with "eselect news list" and e.g. reading them with "eselect |
11 |
> news read" are issued as separate commands, which requires that the |
12 |
> list of valid items does not change. However, time-based filtering |
13 |
> could cause a race condition, like an item expiring between execution |
14 |
> of the two commands. |
15 |
> |
16 |
> Ulrich |
17 |
|
18 |
The race condition could be addressed by issuing a warning |
19 |
at or around the time when expirations occur (midnight), |
20 |
with or without detecting specific expirations which may |
21 |
have occurred: |
22 |
|
23 |
WARNING: [n] is about to / has expired, and the list order |
24 |
is about to / has just changed (as appropriate for list |
25 |
and read respectively) |
26 |
|
27 |
Otherwise just warn when the commands run near midnight. |