[Strmod-devel] More big changes
Status: Alpha
Brought to you by:
omnifarious
From: Eric M. H. <ho...@om...> - 2001-09-23 23:21:34
|
The next nightly checkout of the StrMod system is going to have a lot of new changes. First, the StrMod library has been moved into the strmod::strmod namespace. Also, when that library references things that should be in the std:: namespace, it should work in a compiler that enforces the use of that namespace (like gcc 3.0). Second, a new event source class has been added to UniEvent. There is an interface class, Timer, and an implementation of that interface, UNIXTimer. These classes should allow you to cause events to be posted at particular times. UNIXTimer currently relies on UNIXSignalHandler and the SIGLARM signal to work. The Timer class and the UNIXSignalHandler should be used with caution. Their interfaces are unlikely to change much, but they have highlighted some significant defects in the implementation of SimpleDispatcher. I will have to rewrite SimpleDispatcher yet again to fix the problems.=20 The problem is that the SimpleDispatcher won't check for interrupts (which is how the signal handler gets its even to run when a signal occurs) unless there is already an event on the queue. This is obviously bad behavior, but the logic for SimpleDispatcher is so dependent on the system of queues and events it had that adding this new bit of logic would be very hard, not the least because an interrupt may occur while SimpleDispatcher is trying to decide what event to dispatch. Have fun (if at all possible), --=20 The best we can hope for concerning the people at large is that they be properly armed. -- Alexander Hamilton -- Eric Hopper (ho...@om...=20 http://www.omnifarious.org/~hopper) -- |