Version française
Home     About     Download     Resources     Contact us    

This site is updated infrequently. For up-to-date information, please visit the new OCaml website at

Browse thread
Ocaml debugger under Windows
[ Home ] [ Index: by date | by threads ]
[ Search: ]

[ Message by date: previous | next ] [ Message in thread: previous | next ] [ Thread: previous | next ]
Date: 2008-02-05 (17:31)
From: Dmitry Bely <dmitry.bely@g...>
Subject: Re: [Caml-list] Ocaml debugger under Windows
On Feb 5, 2008 12:54 PM, Alain Frisch <> wrote:
> Dmitry Bely wrote:
> > The topic has a long history [1], but since then nothing has actually
> > changed. It's easy to understand: INRIA people are busy and there are
> > probably quite few Ocaml users in the Windows land to worry about. So I
> > decided to do something myself :) (as it was with mingw port several
> > years ago).
>  >...
> > If it's interesting for anyone I can publish a patch against Ocaml 3.10.1
> Yes, that's definitely interesting for us!
> Is there any hope to build the server with the mingw or msvc port?

As soon as the following function is rewritten:


(* Handle active files until `continue_main_loop' is false. *)
let main_loop () =
  let old_state = !continue_main_loop in
      continue_main_loop := true;
      while !continue_main_loop do
          let (input, _, _) =
            select ( fst !active_files) [] [] (-1.)
              (function fd ->
                 let (funct, iochan) = (List.assoc fd !active_files) in
                   funct iochan)
          Unix_error (EINTR, _, _) -> ()
      continue_main_loop := old_state
      x ->
        continue_main_loop := old_state;
        raise x

here waits for both network and user input events. We
could split this into 2 threads, but how to interrupt network select()
when we going to exit? Well, we could use some small timeout value for
select() (say 500ms) and restart it the loop when !continue_main_loop
is set, but this looks not very elegant... Or it's OK?

The point is not to modify win32unix library or write Win32-specific C
functions for ocamldebug. I believe it's necessary to be ever accepted

- Dmitry Bely