void process_data(void *data) { BPSK_XMT_i *tx = (BPSK_XMT_i *) data; CORBA::ULong packet_size = (CORBA::ULong) 16; PortTypes::ShortSequence I; PortTypes::ShortSequence Q; I.length(packet_size); Q.length(packet_size); while(tx->tx_active){ for (unsigned int i = 0; i < packet_size * 2; i += 2) { I[i/2] = (CORBA::Short) i; Q[i/2] = (CORBA::Short) i*2; cout << "I data: " << I[i] <<" " << Q[i] << endl; } tx->outPort0_servant->send_data(I,Q); sleep(1); } tx->output_thread->exit(); } this is what I get when I run the program start BPSK XMT program!!! I data: 0 0 I data: 0 0 I data: 0 0 I data: 0 0 I data: 0 0 I data: 0 0 I data: 0 0 I data: 0 0 terminate called after throwing an instance of 'CORBA::BAD_PARAM'