[rabbitmq-discuss] Creating an auth plugin (Kerberos)
simon at rabbitmq.com
Wed Dec 5 11:09:14 GMT 2012
On 05/12/12 11:05, Simon Lundström wrote:
> On Mon, 2012-12-03 at 11:21:55 +0000, Tim Watson wrote:
>> If you want to avoid blocking (the reader! yes you do I would've
>> thought) then you might consider using an 'insulator' process in
>> which to open and interact with the port. This allows you to timeout
>> and/or terminate the port without blocking the reader process - some
>> port commands are blocking and if your C code (or external
>> application or whatever) gets stuck then you could be in trouble.
> Please elaborate on this. I've tried to find any information about using
> an 'insulator' process. It's mentioned in the source code of eunit but that's
> the only relevant hit I got. I understand what you mean by not blocking
> the read process though but I thought using a port was async?
> When I tested this, I could authenticate multiple users while
> authentication was hanging?
I'm not sure Tim's suggestion makes sense in fact. At this point the
reader process *has* to block, it has to wait to see if the user can be
authenticated before proceeding. And there is one reader per connection.
More information about the rabbitmq-discuss