Hi Thanks for quick reply. I have did according to ur suggestion call to XOpenDisplay for the new thread . But again it is working fine sometime . This is code, that I have did . *dpause (void *arg) { display = XOpenDisplay ( 0 ); pausem *paused_dialog = new pausem (0,"dpause");//here fails paused_dialog->show(); } pause() { int rc = pthread_create( &thread5, &attr, dpause, NULL ); rc= pthread_join(thread5 ,&thr_retval ) ; while (pause_rec == 0 ) { sleep(1); } if(pause_rec==1) { XCloseDisplay (display); pthread_exit(&thread5 ) ; } } plz give some suggestion to solve this problem . Thanks >> What do you mean by separate display connections" ? >> The case is this : >> >> I mean a display connection returned by XOpenDisplay. >> >> > > Right. I think what Carsten is saying is, if you might need to pause a > thread in the middle of Xlib, then that thread needs to make its own > call to XOpenDisplay, so that it has its own connection, separate from > the rest of the application. > > -- > Tim Roberts, timr@xxxxxxxxx > Providenza & Boekelheide, Inc. > > _______________________________________________ > > Devel@xxxxxxxxxxx > http://XFree86.Org/mailman/listinfo/devel > _______________________________________________ Devel@xxxxxxxxxxx http://XFree86.Org/mailman/listinfo/devel