2
0
Эх сурвалжийг харах

* Improved tcsendbreak

git-svn-id: trunk@21233 -
marco 13 жил өмнө
parent
commit
833318e6fb

+ 10 - 2
rtl/freebsd/termiosproc.inc

@@ -78,11 +78,19 @@ begin
 end;
 
 Function TCSendBreak(fd,duration:cint):cint; {$ifdef VER2_0}inline;{$endif}
+var
+    sleepytime : ttimeval;
 begin
-  TCSendBreak:=fpIOCtl(fd,TIOCSBRK,nil);
+ sleepytime.tv_sec := 0;
+ sleepytime.tv_usec := 400000;
+ if fpioctl(fd, TIOCSBRK, nil) = -1 then
+    exit(-1);
+ fpselect(0, nil, nil, nil, @sleepytime);
+ if fpioctl(fd, TIOCCBRK, nil) = -1 then
+   exit(-1);
+ TCSendBreak:=0;
 end;
 
-
 Function TCSetPGrp(fd,id:cint):cint; {$ifdef VER2_0}inline;{$endif}
 begin
   TCSetPGrp:=fpIOCtl(fd,TIOCSPGRP,pointer(id));