[haiku-bugs] Re: [Haiku] #14738: [pc_serial] Sometimes gets stuck in Write() (even in async mode)

  • From: "Haiku" <trac@xxxxxxxxxxxx>
  • To: undisclosed-recipients: ;
  • Date: Mon, 03 Dec 2018 13:45:23 -0000

#14738: [pc_serial] Sometimes gets stuck in Write() (even in async mode)
---------------------------+----------------------------
   Reporter:  ttcoder      |      Owner:  mmu_man
       Type:  bug          |     Status:  assigned
   Priority:  normal       |  Milestone:  Unscheduled
  Component:  Drivers/TTY  |    Version:  R1/Development
 Resolution:               |   Keywords:
 Blocked By:               |   Blocking:
Has a Patch:  0            |   Platform:  All
---------------------------+----------------------------
Changes (by pulkomandy):

 * owner:  pulkomandy => mmu_man
 * component:  Kits/Device Kit => Drivers/TTY


Comment:

 It seems the pc_serial driver does not handle non-blocking write nor
 timeouts. So I don't see a way to fix this from the application side.

 I don't see where that write callback is called, however I see the
 semaphore is also released in the interrupt handler.

 I suspect a race condition, where we manage to call write twice, quickly
 enough, and the interrupt triggers only once, resulting in the second
 write call blocking for no reason.

 Reassigning to mmu_man, as he wrote this driver.

-- 
Ticket URL: <https://dev.haiku-os.org/ticket/14738#comment:2>
Haiku <https://dev.haiku-os.org>
The Haiku operating system.

Other related posts: