apr-dev mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From Luke Kenneth Casson Leighton <l...@samba-tng.org>
Subject DCEthreads - cancellation / mutexes is possible
Date Tue, 17 Jul 2001 13:26:29 GMT

well, in amongst all this about threads etc. i just wanted
to let you know that i happened across the context_app
example in the dce 1.22 codebase.  it is an example
client and server that maintains a context - a persistent
connection across multiple remote function calls.

this implies that if the connection dies without the client
destroying the context, then the server must do it _for_
you [by calling context_name_t_rundown which you *have* to
provide: it calls it on every outstanding context of type
'context_name_t' it is an auto-generated function.]

and that means killing a thread.

and _that_ implies thread cancellation and cleanups.

and it works.

therefore, i conclude that the dce/rpc codebase has successfully
implemented thread cancellation in their POSIX/Draft4 thread

additionally, the context app, being threaded, has to have
locking on the little 'stores' it maintains.  i do not know
what it means [well, okay, i do, but i've never actually
programmed with threads is more like it] but there is some
code in there that mentions 'mutex'.

i presume that this is working, too.

does this help answer your question, justin?


p.s. the little 'stores' above - explanation: the demo is
to create an in-memory 'store', and to be able to do
file-like i/o (read, write, seek) on it.  it's actually
a static array of memory blocks, so they have to do mutex
around it.

View raw message