<html>
  <head>
    <meta content="text/html; charset=windows-1252"
      http-equiv="Content-Type">
  </head>
  <body text="#000000" bgcolor="#FFFFFF">
    Hello,<br>
    <br>
    My method for measurement was wrong. I changed to gettimeofday()
    which shows that close(handle->fd) is the culprit and not Mono.<br>
    <br>
    Thankyou for your time and sorry for the noise.<br>
    Jason.<br>
    <br>
    <div class="moz-cite-prefix">On 23.04.2016 17:49, Jason Curl wrote:<br>
    </div>
    <blockquote cite="mid:571B9998.6080805@arcor.de" type="cite">
      <meta content="text/html; charset=windows-1252"
        http-equiv="Content-Type">
      Hello Miguel,<br>
      <br>
      You can see in the code, the last timed element is fclose(f),
      which is just closing the file used for diagnostics writing in the
      timing code, which when removed, still leaves 6900ms (it varies
      between 5000ms and > 10000ms).<br>
      <br>
      But I will look at if there is something else I can do based on
      your hint.<br>
      <br>
      Regards,<br>
      Jason.<br>
      <br>
      <br>
      <div class="moz-cite-prefix">On 23/04/2016 17:40, Jason Curl
        wrote:<br>
      </div>
      <blockquote cite="mid:571B9786.9070001@arcor.de" type="cite">
        <meta content="text/html; charset=windows-1252"
          http-equiv="Content-Type">
        Hello Miguel,<br>
        <br>
        > c: serial_close(handle=0x7fe044008d80) close(fd)
        elapsed=21,530000<br>
        <br>
        The time is from when the function entered (using the clock()
        function) and the end.<br>
        <br>
        There seems to be about 6900ms between calling the P/Invoke
        method and when the function actually gets called. You'll see a
        second call later works as expected (the C method takes
        0,066000ms and the .NET says 0ms using).<br>
        <br>
        <div class="moz-cite-prefix">On 23/04/2016 17:15, Miguel de
          Icaza wrote:<br>
        </div>
        <blockquote
cite="mid:CANqeOFoqp2+ofCwkC1kPg-_60sOJC_A6QwHNAH_9qTOXGGQ6dg@mail.gmail.com"
          type="cite">Time the C calls, it is possible that close is
          flushing the data and is not returning until that happebs<br>
        </blockquote>
        <br>
      </blockquote>
      <br>
    </blockquote>
    <br>
  </body>
</html>