[Date Prev][Date Next] [Chronological] [Thread] [Top]

RE: connection management issues



> I've come to the conclusion that I need a queue of hold pending operations
> while waiting for the bind to complete.  When the bind completes,
> then this
> queue is flushed.
>
> There are two basic ways this could be handled.
>
> 1) The thread which just completed the bind could flush the queue
> (spinning
> off new threads for each pending operation).
>
> 2) A thread pool could be implemented which supported pending operations.
> The thread which just completed the bind would just run though pending
> operations to update their status to 'runnable'.
>
> I believe both are about the same level of complexity and would require
> similiar amounts of time.   With option 1, we maintain
> -DNO_THREAD but do not
> make any significant architectural improvements.  With option 2 we gain a
> thread pool, but lose -DNO_THREAD support.
>
> Comments?  Suggestions?
>
> Kurt
>
Having migrated to OpenLDAP from UMich 3.3 specifically to be able to build
a NO_THREAD server, I vote for option 1. Of course, I fully expect to have
the minority view here...