[Date Prev][Date Next] [Chronological] [Thread] [Top]

SOCKET handling (cont.)



Hi again!
[ this is a follow-up to my previous SOCKET mail about error 10038
occuring in select-function in daemon.c slapd_daemon_task ]

I got another connection error/problem that I think can be closely
connected :) to the SOCKET problem I have. After the client
(successfully) unbind from the server the connections-"object" for the
client is removed from Connections-array. But (for some reason) the
select-function again notice the status of the actual SOCKET (after it's
corresponding connection "object"  has been removed from the Connections
array) and tries to removed it again (with assertion as result I
assume).
//------------------ output -------------------
00_07_25 at 12:35:20>>LOG_NOTE:IP=192.168.0.45:1196 requests to unbind
in function tlwcUnbind
00_07_25 at 12:35:20>>LOG_NOTE:successfully read new global idle time
from registry continuing with new value in functio
n daemon_task
daemon: removing 892
daemon: activity on: 892r
daemon: read activity on 892
connection_read(892): no connection!        // <------- Assertion when
trying to remove socket/client-connection once again.
daemon: removing 892
daemon: closing 892
daemon: select: listen=688 active_threads=0 tvp=NULL
daemon: activity on 1 descriptors
00_07_25 at 12:35:20>>LOG_NOTE:successfully read new global idle time
from registry continuing with new value in functio
n daemon_task
daemon: select: listen=688 active_threads=0 tvp=NULL
daemon: activity on 1 descriptors
//----------------------- end output ---------------

So....there is some problems with the socket handling. It seems like the
connection is removed before the socket notice is finished.

What to do? :-)

--
sincerely

Mikael Grehn
M.Sc
Systems Engineer