Re: DCEthreads - cancellation / mutexes is possible

2001-07-18 Thread dean gaudet
On Tue, 17 Jul 2001, Luke Kenneth Casson Leighton wrote: therefore, i conclude that the dce/rpc codebase has successfully implemented thread cancellation in their POSIX/Draft4 thread library. yes cancellation is in the spec. i've never denied that. the problem is libraries and code over

Re: DCEthreads - cancellation / mutexes is possible

2001-07-18 Thread dean gaudet
On Tue, 17 Jul 2001, Justin Erenkrantz wrote: And, from what I can tell, Dean Gaudet has mentioned this morning that he is willing to veto async notification. Dean, would that include cancellation of threads? I have a suspicion it might. Dean has commit access on httpd as well, so if you

Re: Terminating threads in a process, WAS: RE: [PATCH] Problems with MPM threaded

2001-07-18 Thread dean gaudet
:) all is not lost. if you assume that you want some form of notification, but you want to leave it unspecified because you're not sure what each apr thread will be used for, then you can make a somewhat generic kill off other threads cleanup. so for example, when an httpd thread is created it

Re: [PATCH] performance fixes for number formatting

2001-07-18 Thread dean gaudet
you might want to disassemble the functions in gdb (or using objdump) to make sure that gcc emits a single division instruction for the x / 10, x % 10 expressions -- i forget the cases where it can and can't do this. the low level div instruction is a two result opcode, quotient and remainder. if

Re: Terminating threads in a process, WAS: RE: [PATCH] Problems with MPM threaded

2001-07-18 Thread Justin Erenkrantz
On Tue, Jul 17, 2001 at 06:28:37PM -0500, William A. Rowe, Jr. wrote: Yes, yes, yes. Can we please split the concept of a heirarchial parent (the 'creator' thread's or process pool, in this case) from the allocation parent (the actual give me memory for my pool from ... here!) Then we have an

Re: Terminating threads in a process, WAS: RE: [PATCH] Problems with MPM threaded

2001-07-18 Thread Aaron Bannert
[snip] that would be registered in the parent thread's pool -- and would only be invoked by the parent thread. pools let you do this, you don't need the mutexes for it, you just have to be explicit about parallelism. (combine that with a root pool per thread and then we can remove

Re: Terminating threads in a process, WAS: RE: [PATCH] Problems with MPM threaded

2001-07-18 Thread dean gaudet
On Tue, 17 Jul 2001, Aaron Bannert wrote: On Tue, Jul 17, 2001 at 01:29:47AM -0700, dean gaudet wrote: On Sun, 15 Jul 2001, Sander Striker wrote: Why are we so desperate in opting out the child-pool creation? I don't really have problems with a child pool for each thread. Actually,

Re: Terminating threads in a process, WAS: RE: [PATCH] Problems with MPM threaded

2001-07-18 Thread Justin Erenkrantz
On Tue, Jul 17, 2001 at 04:49:04PM -0700, dean gaudet wrote: Please allow me to use pseudocode: void * worker_function(void * opaque_application_data) { apr_pool_t *thread_pool; create_child_pool(thread_pool, global_root_pool); now you've got mutexes in global_root_pool.

Re: Terminating threads in a process, WAS: RE: [PATCH] Problems with MPM threaded

2001-07-18 Thread William A. Rowe, Jr.
From: Aaron Bannert [EMAIL PROTECTED] Sent: Tuesday, July 17, 2001 6:41 PM [snip] that would be registered in the parent thread's pool -- and would only be invoked by the parent thread. pools let you do this, you don't need the mutexes for it, you just have to be explicit about

Re: Terminating threads in a process, WAS: RE: [PATCH] Problems with MPM threaded

2001-07-18 Thread Aaron Bannert
I totally agree, but only as a solution in httpd. no, everywhere. I also believe that we should provide this [application-specific requirement] outside of the basic thread support in APR. Please allow me to use pseudocode: void * worker_function(void *

Seperating cleanups from memory allocations, WAS: RE: Terminating threads in a process

2001-07-18 Thread Sander Striker
[...] Are you saying you want the thread function to have access to both a scope pool as well as an allocator pool, in case they are different? I've officially graduated to the rbb (insert a decent name here) club :-) Thank you, yes, scope pool defines teardowns such as cleanups, while

Re: Inherited Handles and APR

2001-07-18 Thread dean gaudet
On Tue, 17 Jul 2001, William A. Rowe, Jr. wrote: We agree. APR_INHERIT is the 'option', APR_NON_INHERIT is a zero (usual case) value. my complaint is that you're modifying all the handle creation APIs with another parameter... -dean

Re: Inherited Handles and APR

2001-07-18 Thread Justin Erenkrantz
On Tue, Jul 17, 2001 at 08:32:47PM -0500, William A. Rowe, Jr. wrote: Then, I'm +1 on _not_ passing this as an argument to the creation fn, rather assuming that the inherit flag is _not_ set, and force the user to call apr_socket_inherit_set or apr_file_inherit_set. Does this work for

Re: [PATCH] performance fixes for number formatting

2001-07-18 Thread Brian Pane
dean gaudet wrote: you might want to disassemble the functions in gdb (or using objdump) to make sure that gcc emits a single division instruction for the x / 10, x % 10 expressions -- i forget the cases where it can and can't do this. the low level div instruction is a two result opcode, quotient

Re: Inherited Handles and APR

2001-07-18 Thread dean gaudet
+1 from me too (although i don't know that i necessarily have a vote in APR :) -dean On Tue, 17 Jul 2001, Justin Erenkrantz wrote: On Tue, Jul 17, 2001 at 08:32:47PM -0500, William A. Rowe, Jr. wrote: Then, I'm +1 on _not_ passing this as an argument to the creation fn, rather assuming

Re: Seperating cleanups from memory allocations, WAS: RE: Terminating threads in a process

2001-07-18 Thread Aaron Bannert
On Tue, Jul 17, 2001 at 08:33:09PM -0700, dean gaudet wrote: [snip] p.s. maybe this example will help highlight why apr_lock_t is far too generic and there should be a more lightweight thread only mutex that doesn't require lots of extra memory allocation? Oh don't get me started on that

Re: Terminating threads in a process, WAS: RE: [PATCH] Problems with MPM threaded

2001-07-18 Thread Luke Kenneth Casson Leighton
On Tue, Jul 17, 2001 at 10:12:35AM -0700, Aaron Bannert wrote: - Optionally creating a child-pool for each thread. This provides us two things in my mind: 1) Allowing the application to choose an SMS for this thread-pool (which could very well be a special SMS created just for this

Re: [PATCH] Allow unrelated SMSes to reset

2001-07-18 Thread Justin Erenkrantz
On Wed, Jul 18, 2001 at 01:52:54PM +0200, Luke Kenneth Casson Leighton wrote: On Tue, Jul 17, 2001 at 05:49:08PM -0700, Justin Erenkrantz wrote: Comments? Would this make anyone happy? =) yes, funnily enough. you intend this to be part of the sms 'utility' API, yes? a bit like

Re: [PATCH] exports.c creation

2001-07-18 Thread rbb
++1 Ryan On Wed, 18 Jul 2001, Sander Striker wrote: Hi, I've written a new make_exports.awk script which I posted to the list earlier. Attached is a newer version which seems to handle everything ok now. To move to the new make_exports the following steps are required: - copy

Re: [PATCH] Allow unrelated SMSes to reset

2001-07-18 Thread Luke Kenneth Casson Leighton
Yup. That's the catch. It'd probably need to be a bit more sophisticated than what I've posted OR make the apr_sms_reset a bit more robust (i.e. handle SMSes that have already been cleaned up). I'm leaning towards making the apr_sms_reset more robust. -- justin yeah, well it seems to me

Re: [PATCH] Fix apr_thread_exit(), change apr_thread_start_t, etc...

2001-07-18 Thread rbb
-1. Please post patches in-line, because it makes it MUCH easier to reply to them and make useful comments. Also, posting one patch at a time would have made this patch easier to follow, and it would have allowed me to commit the pieces that I like without having to go in and modify the patch

RE: [PATCH] Allow unrelated SMSes to reset

2001-07-18 Thread Sander Striker
yeah, well it seems to me that this would be a really smart thing to do _anyway_. throw an assert if someone tries to register the same 'object' twice, not just a child-sms. is that possible? Possible, yes :) if you have a file object, how can you check it's not the same? by

Re: [PATCH] Allow unrelated SMSes to reset

2001-07-18 Thread William A. Rowe, Jr.
From: Justin Erenkrantz [EMAIL PROTECTED] Sent: Wednesday, July 18, 2001 10:01 AM On Wed, Jul 18, 2001 at 01:52:54PM +0200, Luke Kenneth Casson Leighton wrote: also, what happens if the child sms is *already part of the parent*? can you guarantee that the registration and destruction of

Re: [PATCH] Allow unrelated SMSes to reset

2001-07-18 Thread Justin Erenkrantz
On Wed, Jul 18, 2001 at 05:30:17PM +0200, Sander Striker wrote: can you guarantee that the registration and destruction of the sms, via cleanup, will not stuff the parent by effectively destroying the child sms twice? Yup. That's the catch. It'd probably need to be a bit more

Re: [PATCH] Fix apr_thread_exit(), change apr_thread_start_t, etc...

2001-07-18 Thread rbb
IMNSHO, this is wrong for two reasons. #1, if the app has access to the apr_thread_t, then they also have access to the pool. For the app to get access to the apr_thread_t, it must pass it through in it's own opaque data pointer. This is of course totally unobvious to the application

Re: mod_webapp

2001-07-18 Thread Justin Erenkrantz
[ Dropping tomcat-dev and adding [EMAIL PROTECTED] ] On Wed, Jul 18, 2001 at 05:10:43PM +0100, Pier P. Fumagalli wrote: Justin Erenkrantz at [EMAIL PROTECTED] wrote: On Wed, Jul 18, 2001 at 04:43:57PM +0100, Pier P. Fumagalli wrote: I have an old pre-sms version of APR I'm using, and it

Re: mod_webapp

2001-07-18 Thread Pier P. Fumagalli
William A. Rowe, Jr. at [EMAIL PROTECTED] wrote: From: Justin Erenkrantz [EMAIL PROTECTED] Sent: Wednesday, July 18, 2001 11:23 AM [ Dropping tomcat-dev and adding [EMAIL PROTECTED] ] On Wed, Jul 18, 2001 at 05:10:43PM +0100, Pier P. Fumagalli wrote: Justin Erenkrantz at [EMAIL

RE: [PATCH] Allow unrelated SMSes to reset

2001-07-18 Thread Sander Striker
Given the current code for SMS, it is hard to separate the 'scope' vs. 'allocation' parent. Roy and I discussed yesterday about playing some trickery with having the thread-specific SMS be parented by the std SMS (i.e. malloc et al) and the per-process pool (i.e. passed into

Re: [PATCH] Allow unrelated SMSes to reset

2001-07-18 Thread Justin Erenkrantz
On Wed, Jul 18, 2001 at 11:59:28PM +0200, Sander Striker wrote: Look at the code again. Specifically in apr_sms_destroy. You'll see there that the child sms is removed from the child list like so: if ((*sms-ref = sms-sibling) != NULL) sms-sibling-ref = sms-ref; Which is an inexpensive