Though source modules things compile, no programs have yet been
built and tested that actually use networking (as opposed to support
functions, like inet_aton).
macros to validate structures using them, and perhaps a do-all function
which can be used by debugging code to identify a structure and print
the contents by calling the correct dump function.
include stdlib.h to define NULL; BSD/OS managed to define it in
one of the other files already included, but that was not portable.
Thanks for pointing these issues out for Linux, Brian.
Tasks now terminate when
Any shutdown events have been posted
There are no references
The event queue is empty
If a task has no references and the event queue
is empty, then a shutdown will be triggered if
it hasn't been already.
allowdone and allowsend are gone
sending events can no longer fail
should be decided on; it is kind of a toss-up to me personally.
One method is slightly more complicated but the other uses a spin lock.
See once.c for details.
Wrote isc_time_nowplusinterval, a new function added to unix/time.c.
Made some LARGE_INTEGERS to be ULARGE_INTEGERS to ameliorate any
possible hint of a signed vs unsigned problem, even though it would
not happen for 28,847 more years from now.
Assert t1 and t2 not NULL in isc_time_millidiff.
This implementation is nearly complete except for outragous
precision values on floating point numbers. This impelemation
has a maximum precision of 512.
can use internal buffer pointers without fear by first performing the
same validity check used in the buffer.c file. This eliminates a
function call inside a loop, and the bufferlist.c file is really a
superset of buffers in many ways already.
Double isc_mem_put()'s well now cause an INSIST failures.
These are on by default during development but can be turned
off by "#define ISC_MEM_RECORD 0" or equivalent.