IRC channel logs

2025-11-29.log

back to list of logs

<damo22>youpi: are there a set of macros i can use in gnumach that handle double linked lists? otherwise is there an efficient way to remove an elem from a single linked list?
<damo22>queue_chain_t i guess
<damo22>hmm i reworked it and now the same timeout is expiring twice
<azert>damo22: you can copy paste the FreeBSD 4 macros
<azert>removing an element is tricky, it requires the handles for untimeout operations. If that happens frequently it might be an issue for performances
<damo22>it sets a timeout and then expires the same timeout multiple times
<azert>does that means that the wheel is not "advancing"?
<azert>or that it get sets multiple times?
<azert>also, you notice how FreeBSD people didn’t just implement the timeout and untimeout functions, but introduced a new API? I think they did it in view of expanding it and it worked
<damo22>i changed the timeout/untimeout api
<damo22>there was only a couple of old drivers using it
<damo22>it sets the timeout once but gets stuck in a loop expiring the same timeout
<azert>the most important user is thread_will_wait_with_timeout
<azert>ipc timeouts rely on it
<damo22>damnit i think the queue_t points to itself for queue_next when theres nothing left?
<damo22>how do i get a NULL if there is nothing left in the queue?
<gnu_srs1>youpi: See above.
<gnu_srs1>about urandom being a softlink to fd/2.
<azert>damo22: looks to me like that condition is as good as null
<azert>I’d say it’s better
<azert>cannot you test for that?
<damo22>i am getting somewhere, now its failing to reset
<damo22>now it is resetting correctly but expiring multiple times