0 Replies Latest reply on Mar 8, 2013 3:24 PM by 995299

    Solaris 11.1 closes device driver when the open failed with a EBUSY error.

      Note: I added this post to this forum yesterday and I find today that it has disappeared. I also entered it into the Solaris 11 folder on Wed. Mar. 6 and it also disappeared.


      So here is the post again.

      I have written a driver that will accept only 1 open. A application can successfully call an open to access the driver. If a 2nd application tries another open, the driver will return EBUSY. This 2nd application receives the EBUSY error correctly.
      However on Solaris 11.1 ( and maybe 11.0) the OS seems to call a close() on our driver in response to the failed open attempt. This close causes the first application's file descripter to become invalid.
      Solaris 10 does not call close on a failed open attempt.

      Why is Solaris 11 making this close() call on the driver and is there anything required by a driver to prevent this from happening.

      Edited by: tmckinlay on Mar 8, 2013 7:23 AM