hiya,
well, i'm exploring APR more and more for xvl development (we're up!
http://xmlvl.net).
i just wanted to let you know a few things:
1) as i find out more, i get more impressed. each time i want
to add a bit more code or convert some over, i find in almost
95% of cases that the functionality in APR just points the way.
i converted over the file code to apr (2 hours). the
directory-listing to apr (2 hours). i got a bit
confused about which thing to use in an apr_finfo_t:
fname or name, that _is_ really odd, guys :)
apr_proc_create()? simple! easy! love it!
2) the similarities to the data structures needed by samba,
and those created for APR usage, are freaky :) this bodes
well for cliffs (auto-generated SMB client and server - an
alternative to samba)
3) the 5% missing bits i've found so far are:
- getuid() i assume that this has been discussed? i have
to get latest httpd-2 to find out how this has been tackled.
instead i have to do a getenv('USER') [yes, yuck].
- signal handling / blocking. i am very concerned by the
recent report by todd sabin on razor.bindview.com about
80% of unix programs being vulnerable to signal attacks
(esp. SIG_PIPE). so i am going to leave in the signal
blocking - even though it will make it impossible to compile
on Win32. i can't find any equivalent functionality in
APR to stop certain kinds of signals or to trap SIG_TERM
and call a fault_cleanup(). am i missing something?
- getenv() i'm going to assume that every system has getenv()
because i can't find one in APR, but i see that the apache
1.3.x code uses getenv...
anyway, should get back to work now.
i love code that makes life easy.
luke