Posix. Any way to cancel tcdrain() ?


 
Thread Tools Search this Thread
Top Forums UNIX for Dummies Questions & Answers Posix. Any way to cancel tcdrain() ?
# 1  
Old 11-13-2015
Posix. Any way to cancel tcdrain() ?

While transmitting RS232 data I use tcdrain() to wait for the data to be sent before putting more data into the txbuffer.

Code:
write(hPort, txBytes, txBytes.count);
tcdrain();

If the remote device disconnects then tcdrain never returns.

I'm doing it in a thread so the UI is still responsive but I just can't figure out a way to tell tcdrain to stop waiting.

If I was doing it in MS Windows it's simply a case of calling a function to flush buffers which causes the drain to complete and return naturally.

In Posix though any attempt to call flush while tcdrain is stuck also causes flush() to hang as well.

I've googled everywhere and a few people have asked this question in various forums but I've never seen an answer.

Thank you for any suggestions
# 2  
Old 11-13-2015
Can you not call pthread_kill on the "tcdrain thread"?
 
Login or Register to Ask a Question

Previous Thread | Next Thread

10 More Discussions You Might Find Interesting

1. UNIX for Dummies Questions & Answers

Cannot cancel a print

Hi Everyone, I am trying to cancel a print. I am logged on as the user of the print and when I use the command 'cancel print_job' I get the message 'print_job: not authorized' I have cancelled other prints in the queue, but this particular job in the queue cannot delete. I even logged on as... (5 Replies)
Discussion started by: Scarlet
5 Replies

2. Shell Programming and Scripting

Cancel down 2 integers

Wonderful evening to all of you! My problem has to possible starting points. Well, not really, but getting to either one is no problem at all. So i got either a string in the format of "1920x1080" or simply the integers X = 1920 and Y = 1080. When I am done, I would like to have an output... (5 Replies)
Discussion started by: jakunar
5 Replies

3. HP-UX

i want to cancel printing job

hi every body i used " lpstat -o" to show the printer jobs and i already canceld it by "cancel -e -f jobid" but the problem i found when used " lpstat -o" again it said that job in progress i think because it in the buffer but i don't know how to clear the printer. (9 Replies)
Discussion started by: maxim42
9 Replies

4. UNIX for Dummies Questions & Answers

can't cancel nohup job

Yesterday I started a nohup job called assoc.sh. It has not finished running, but I have realised a problem with my script, so wish to cancel it, modify and restart it. However, I cannot find the PID, so can't cancel it. I have searched the ps list and nothing resembles my job - how can I cancel... (13 Replies)
Discussion started by: polly_falconer
13 Replies

5. Post Here to Contact Site Administrators and Moderators

Cancel Account

I accidentally typed a wrong user name... pls delete my account so that i can create a new one.. Thanks (4 Replies)
Discussion started by: Pat_Martin
4 Replies

6. Post Here to Contact Site Administrators and Moderators

cancel account

id like to cancel my account please. thanks (5 Replies)
Discussion started by: samb057
5 Replies

7. Solaris

Cron Job... How to cancel it.

Hello, I am sort of new to cron jobs, I have a cron job running everyday that no longer needs to. How do I cancel it? (4 Replies)
Discussion started by: komputersman
4 Replies

8. UNIX for Dummies Questions & Answers

Cancel QCompile

I need help, please!!!!!!!! I have accidentally selected to compile all my programs, which will probably take forever!! How can I cancel the compiling of the programs. I see in qstatus the huge list of programs waiting to be compiled. Thanks! :eek: (1 Reply)
Discussion started by: itldp
1 Replies

9. UNIX for Advanced & Expert Users

cancel the massage

Hi all In Aix system Someone know i want to cancel the massage. if some user print something and user root deleting the job i got brodcast message " message from queueing system job number XXX has been deleteing from queue. <EOT> " I use the cancel command (1 Reply)
Discussion started by: goldfelda
1 Replies

10. UNIX for Dummies Questions & Answers

How to cancel all printjobs at once?

Hi unix-friends, I've got an RS6000 with Unix 4.3 as OS. I'm writing a script that i want to use for cancelling all print jobs at once. Does anyone have any good idea's, hints, or tips? Hope to hear from you, Erik (3 Replies)
Discussion started by: Erik Rooijmans
3 Replies
Login or Register to Ask a Question