I use the native win32-x86 EPICS base port to windows. My caget doesn't run at a high repetition
rate. The problem also occurs when I use camonitor.
I used camonitor and netstat to check how many tcp circuits are active and in what state they are
in. I called camonitor from a different machine as softIoc.
At the beginning of my test softIoc had 1282 used handles (constant). When I called camonitor I saw
a new TCP connection to port 5064 (via netstat) and an increase of softIoc handles to 1294. Both
values were constant while running camonitor. After stopping camonitor the handle count of softIoc
decreased to 1284 and the TCP connection to port 5064 was still open. After some seconds the TCP
connection to port 5064 has been closed but the handle count still stands by 1284. This two
additional handles will no more be removed and every new camonitor or caget request will add two
more handles until softIoc crashes.
To diagnostic the handle count I use the "Performancemonitor" (perfmon.exe) from MS Windows and the
"Processexplorer" (procexp.exe) from Systeminternals.
I think caget terminates regularly and calls ca_context_destroy to clean up all used channel access
resources.
From Carsten Winkler,
I use the native win32-x86 EPICS base port to windows. My caget doesn't run at a high repetition
rate. The problem also occurs when I use camonitor.
I used camonitor and netstat to check how many tcp circuits are active and in what state they are
in. I called camonitor from a different machine as softIoc.
At the beginning of my test softIoc had 1282 used handles (constant). When I called camonitor I saw
a new TCP connection to port 5064 (via netstat) and an increase of softIoc handles to 1294. Both
values were constant while running camonitor. After stopping camonitor the handle count of softIoc
decreased to 1284 and the TCP connection to port 5064 was still open. After some seconds the TCP
connection to port 5064 has been closed but the handle count still stands by 1284. This two
additional handles will no more be removed and every new camonitor or caget request will add two
more handles until softIoc crashes.
To diagnostic the handle count I use the "Performancemon itor" (perfmon.exe) from MS Windows and the
"Processexplorer" (procexp.exe) from Systeminternals.
I think caget terminates regularly and calls ca_context_destroy to clean up all used channel access
resources.