aboutsummaryrefslogtreecommitdiff
path: root/toplevel
diff options
context:
space:
mode:
authorEnrico Tassi2014-01-29 23:08:45 +0100
committerEnrico Tassi2014-01-30 17:29:33 +0100
commit8c4b6ebb338c8a61c607782908254aadead0c3cd (patch)
tree2cf4c79b5911c1853bcdd16cbe6d9ca3bab686f3 /toplevel
parent0a61e18a60fe05b989c24f28c769c3b0cd296cf1 (diff)
Work around for bug in threads + blocking io streamlined
Diffstat (limited to 'toplevel')
-rw-r--r--toplevel/ide_slave.ml6
1 files changed, 3 insertions, 3 deletions
diff --git a/toplevel/ide_slave.ml b/toplevel/ide_slave.ml
index e93d167207..af58f8eb21 100644
--- a/toplevel/ide_slave.ml
+++ b/toplevel/ide_slave.ml
@@ -397,9 +397,9 @@ let loop () =
catch_break := false;
let in_ch, out_ch = Spawned.get_channels () in
let xml_oc = Xml_printer.make (Xml_printer.TChannel out_ch) in
- Spawned.prepare_in_channel_for_thread_friendly_blocking_input in_ch;
- let in_lb =
- Lexing.from_function (Spawned.thread_friendly_blocking_input in_ch) in
+ CThread.prepare_in_channel_for_thread_friendly_io in_ch;
+ let in_lb = Lexing.from_function (fun s len ->
+ CThread.thread_friendly_read in_ch s ~off:0 ~len) in
let xml_ic = Xml_parser.make (Xml_parser.SLexbuf in_lb) in
let () = Xml_parser.check_eof xml_ic false in
set_logger (slave_logger xml_oc);