Hello all,
I'm new to this list, please forgive me for any ignorance I might manifest in my messages.

But to get straight to the point, my task is to develop a small tcp server plugin with apr. I'm using a pollset to handle multiple requests and I put together a very simple test system following the instructions of the tutorial. The listening socket passes through the first request just fine, but when this request has been handled and in the pollset there is only the listening socket, the only thing I get from apr_pollset_poll is error 730038 (An operation was attempted on something that is not a socket). I managed to find out that with apache, this error has to do with AcceptEx() failing with winsock v2 on certain systems. Is there any other possible reason for this error that anybody is aware of?

This happens both when I create one request, handle it and then create another request and when I create two requests one after another. The first request gets handled, the second not; when there is only the listening socket in the pollset, I get only the error.

On apache, the use of AcceptEx can be disabled with directive Win32DisableAcceptEx. Now I'd like to know if there exists a way to achieve the same with apr. I'd like to test if disabling AcceptEx removes the error or should I look elsewhere. Is there already a compiler directive or something else to disable AcceptEx or should I dig into the apr code and implement such a directive myself? ;) If the latter is the case, could someone please point me to the right direction, since I'm completely new to apr and have only briefly looked at the code.

Thanks in advance for any help.

Matti Eskelinen
Software Developer