I am using Embbeded Visual C++ 4.0 to write an application on Pocket PC 2003 platform to communicate with another device via bluetooth serial port profile. I undestand that serial ports on PPC are Non Overlapped. I have to create a thread to read data and a thread to send the data. My problem is that my application can only send data once and then hangs. How do I synchronise the write thread and the receiving thread. is there any difference in using AfxBeginThread and CreateThread functions ? I also need to read all the data when it arrives in the receive buffer instead of reading it character by character and specificing the receive buffer size limit. How do I implement an event handler to do this ? I have not put any of my code because I have decided to start all over again. Could someone please help it's quite urgent.