Oh, sorry I forgot to mention versions: linux centos 6.2, zeromq 2.2.0 2012/7/6 Max Kuznecov <[email protected]>: > Hi! > > I'm facing a strange problem which I'm unable to resolve for about a > week, so I decided to ask in the list as a last resort. > > I've got a system which collects requests from custom freeradius > account module, stores them in persistent queue on disk and then > serves to the agents, which put them into postgres afterwards. > Here's a brief arch image: http://imageshack.us/photo/my-images/821/archn.png/ > > In radius module a single 0mq socket (REQ) is instantiated which is > later used for sending requests to collector. > > Collector is a separate process which binds on the REP socket (tcp, on > the same port as radius module, of course) > Collector's loop code: http://pastebin.com/xuN4pitv > > Radius module code: http://pastebin.com/HhUK4nGG > It uses mutexes as radius calls the function from various threads. > > xsend function is a basic wrapper: http://pastebin.com/V3dG0kV9 > > So, the problem is: when the radius initiates the module, it > successfully creates the context and the socket. > But, when it tries to send a message to the collector, the following happens: > Send operation reports ok (code 0), but when it tries to receive > afterwards it blocks. And the collector doesn't receive the data sent > by module! > > I've put a lot of debug printfs all around and the collector just > doesn't seem to complete the recv function call. > But what is the most strange in all this is that if I run radius with > debug flag (-X) which tell it to run in single threaded and in > foreground - everything works just as planned - modules sends messages > to collector, collector replies etc. Even when I supply a -f option to > radiusd, which just evades calling fork() it still works. It doesn't > only when radius daemon is run in background. > > So, basically this is what I cannot understand, if it didn't work in > any case I'd understand, but this... > Maybe anybody could came up with any idea about what's wrong here. I'd > be greatly appreciated! > > -- > ~syhpoon
-- ~syhpoon _______________________________________________ zeromq-dev mailing list [email protected] http://lists.zeromq.org/mailman/listinfo/zeromq-dev
