patrick
patrick
Actually, I've discovered the `Changed` and `Built` are somewhat off when fixing the dritiness hiding problem, but I forget about it at the time since it it won't hide the...
I've added two test, one from the lower level and one from higher level to demonstrate the bug and ensure no regression.
Let's merge it if no one object to this. I've been using this branch and no regression yet. And the bench reuslt look pretty promising
We need to send the update of config to reactor thread to avoid the race condition. More detaily, the setSomethingModified should run under the reactor thread, since the `WithDb, IndexQueue`...
> Do you have any estimate how much time this saves across one test suite run? I have not measured, But I don't think there is much, only 3 sec...
Alternatively we could make the shutdown handler take away the ideStateVar to prevent the race condition. This would not change the thread the configupdate callback is running on,since we have...
> * During shutdown, the database connection will become unavailable > * If we try to access the database connection after this, we should fail. Yes, I agree about this....
> Again, I'm not sure this is necessarily a problem. What happens if we restart the shake session after it is closed? It should fail! So I think it's fine...
I am creating a minimal example to see if I can reproduce the hanging. -------------------------------------------- This is a minimal example of the hanging: ```haskell {-# LANGUAGE RecordWildCards #-} {-# LANGUAGE...
> AFAIK writing to a TChan shouldn't hang, ever. I'll take a look at your reproduction code... You are right writing the TChan won't hang if the `TChan` is already...