Erlang Mailing Lists

Author Message

<  RabbitMQ mailing list  ~  rabbitmq-c thread-safe

tonyg
Posted: Thu Nov 19, 2009 10:08 pm Reply with quote
User Joined: 07 Nov 2006 Posts: 199
Hi Theo,

Theo Schlossnagle wrote:
> The current tip of rabbit-mq has two issues:
> The first is that it declares many blank structures:
> typedef struct foo { } foo_t;
> Many compilers don't allow this -- in fact, gcc is the only know I know of that does. This should be changed to something like:
> typedef struct foo { unsigned unused:1; } foo_t;

Yes, the code is gcc-specific. It uses some of the gcc extensions (e.g.
statement expressions) which make C less unpalatable. I don't know how
much effort it would be to avoid the gccisms in the code, and I have to
say I'm not particularly motivated to try...

It's a shame that other compilers don't let you have no-member structs;
it seems to me perfectly sensible. Glancing at the language standard,
however, I see that syntactically an empty struct is not permitted, and
semantically if no members are declared the behaviour is undefined Sad

> The second issue is that the library uses a global variable to track
> the reply state on the a connection making it not thread safe. I've
> patched the tip, it is attached.

Would it work instead to put the amqp_rpc_reply variable in the
amqp_connection_state_t?

> Also, rabbitmq-c has been exposed for perl-lovers as Net::RabbitMQ on CPAN.

Awesome! Thank you very much Smile

Regards,
Tony
--
[][][] Tony Garnock-Jones | Mob: +44 (0)7905 974 211
[][] LShift Ltd | Tel: +44 (0)20 7729 7060
[] [] http://www.lshift.net/ | Email: tonyg@lshift.net

_______________________________________________
rabbitmq-discuss mailing list
rabbitmq-discuss@lists.rabbitmq.com
http://lists.rabbitmq.com/cgi-bin/mailman/listinfo/rabbitmq-discuss
Post received from mailinglist
View user's profile Send private message MSN Messenger

Display posts from previous:  

All times are GMT
Page 1 of 1
This forum is locked: you cannot post, reply to, or edit topics.

Jump to:  

You cannot post new topics in this forum
You cannot reply to topics in this forum
You cannot edit your posts in this forum
You cannot delete your posts in this forum
You cannot vote in polls in this forum
You cannot attach files in this forum
You cannot download files in this forum