1 |
|
/* |
2 |
|
* serial_beos.cpp - Serial device driver, BeOS specific stuff |
3 |
|
* |
4 |
< |
* Basilisk II (C) 1997-1999 Christian Bauer |
4 |
> |
* Basilisk II (C) 1997-2002 Christian Bauer |
5 |
|
* |
6 |
|
* This program is free software; you can redistribute it and/or modify |
7 |
|
* it under the terms of the GNU General Public License as published by |
76 |
|
suspend_thread(input_thread); // Unblock thread |
77 |
|
snooze(1000); |
78 |
|
resume_thread(input_thread); |
79 |
< |
wait_for_thread(input_thread, &l); |
79 |
> |
while (wait_for_thread(input_thread, &l) == B_INTERRUPTED) ; |
80 |
|
} |
81 |
|
if (output_thread > 0) { |
82 |
|
send_data(output_thread, CMD_QUIT, NULL, 0); |
83 |
|
suspend_thread(output_thread); // Unblock thread |
84 |
|
snooze(1000); |
85 |
|
resume_thread(output_thread); |
86 |
< |
wait_for_thread(output_thread, &l); |
86 |
> |
while (wait_for_thread(output_thread, &l) == B_INTERRUPTED) ; |
87 |
|
} |
88 |
|
acquire_sem(device_sem); |
89 |
|
delete_sem(device_sem); |
169 |
|
if (is_parallel) { |
170 |
|
char name[256]; |
171 |
|
sprintf(name, "/dev/parallel/%s", device_name); |
172 |
< |
fd = open(name, O_WRONLY); |
172 |
> |
fd = ::open(name, O_WRONLY); |
173 |
|
if (fd < 0) { |
174 |
|
release_sem(device_sem); |
175 |
|
return openErr; |
513 |
|
// Close port |
514 |
|
while (acquire_sem(device_sem) == B_INTERRUPTED) ; |
515 |
|
if (is_parallel) { |
516 |
< |
close(fd); |
516 |
> |
::close(fd); |
517 |
|
fd = -1; |
518 |
|
} else { |
519 |
|
if (drop_dtr_on_close) |