In wireshark , gtk/main.c code , ther's a call to gtk_main() where the main thread control is given to gtk.
I need to automate a particular user interaction i.e. select the RTP/Stream Analysis ... from menu .
For that i have written a small code as follows :
Just before the call to gtk_main() , i have created a thread which makes a call to the callback function for RTP Stream Analysis , this as follows:
void callRTP(void *ptr)
{
while(flag)
{
rtp_analysis_cb(NULL,NULL);
sleep(5);
}
}
int flag=0;
int main()
{
int it1;
.........................
........................
it1 = pthread_create( &thread1, NULL, callRTP (void*)msg);
flag=1;
gtk_main();
flag=0;
}
When i debug this program, rtp_analysis_cb function is being called but i face Segmentation Fault errors and sometimes it says Aborted...The errors are as follows:
lt-wireshark: ../../src/xcb_lock.c:77:
_XGetXCBBuffer: Assertion `((int) ((xcb_req) - (dpy->request)) >=
0)' failed.
Aborted
and sometimes i get the below error:
(lt-wireshark:21151): GLib-WARNING **:
g_main_context_prepare(): main loop already active in another thread
**
GLib:ERROR:/build/buildd/glib2.0-2.18.2/glib/gmain.c:2095:g_main_dispatch:
assertion failed: (source)
Aborted
I request somebody to tell me, if im not handling the thread in the right way or any other cause is creating this problem.
Thanks and Regards,
Harsha Gampa