httpd-users mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From Gerard Allwein <>
Subject [users@httpd] Unix sockets and Apache (2.4)
Date Mon, 23 Sep 2013 13:33:33 GMT
The problem: we accept a websockets message, send a message via unix socket to another program,
it sends a response back via a different socket to our websockets module. It works 2 times,
on the third attempt, the return socket is successfully written to. We have a listener who
is waiting (socket accept call), yet this latter never receives the reply. 

Apache 2.4 (Linux, 12.04 Ubuntu) has a main process and three helper processes. It selects
one helper per websockets message. I've done strace on each helper and the main process. I
get what I expect from the helpers, 2 quiescent and 1 processing up to and including our accept.
The main process, when this third attempt is made, seems to go haywire and spawns another
28 processes, seems to hit some limit and then kills them off.

How can I make Apache (a) not lose its mind, (b) get my message delivered to the accept in
the daughter process that is executing our websockets code? Our websockets code appears to
be working correctly and not failing to release any memory or resources. I've checked return
values on the socket close for the writer and he reports no error. Turning up the logging
level doesn't give me any more information. Turning up the resource limits doesn't appear
to effect Apache for this problem. I'm stumped as is everyone in my organization.

View raw message