Hello All, <div>I need to launch XServer in a thread and terminate(release resources and kill thread) XServer whenever required. To achieve this, I have created a shared library of Kdrive-XServer. To start XServer I load the Xserver shared lib, and launch the Xfbdev server in a thread. For terminating Xserver, I call GiveUp (0); function, that releases the XServer resources, then I dlclose on Xserver library. However, when I start and terminate XServer in above way, there seems to happen 3MB of memory leak in every cycle. After narrowing down it is seen that following 2 function calls increase the memory to 3M at start and is not release at termination. The functions are: InitInput(argc, argv); and InitAndStartDevices(); These are the observation on ARM target board.</div>
<div>When above scenario is simulated on x86 machine, and Valgrind is run, it does not show memory leaks in above mentioned functions, instead it shows definite loss of 1,244 bytes of memory in KdInitOutput() and some other minor definite losses.</div>
<div>I need to find out the 3M memory loss on target ARM board for InitInput(argc, argv); and InitAndStartDevices(); functions. For this I did try to release memory allocations in InitInput(), but no success. If I comment below lines from KdProcessArgument(), then the 3M chunk leak does not happen however with this mouse and keyboard are not initialized and I need to have keyboard and mouse. Can anyone help me out to find out the 3M chunk and how to avoid it / release it?</div>
<div><----------------------</div><div> KdAddConfigKeyboard("keyboard,/dev/tty0");</div><div> KdAddConfigPointer("mouse,/dev/input/mice");</div><div> kdHasPointer = TRUE;</div><div> kdHasKbd = TRUE;</div>
<div>----------------------------></div><div><br></div><div>Thanks and Regards,</div><div>Vrushali</div>