Opened 14 years ago

Closed 13 years ago

#651 closed Bug (duplicate)

GUI freeze due to threads blocking on disk IO

Reported by: charles Owned by: charles
Priority: Normal Milestone: None Set
Component: libtransmission Version: 1.02
Severity: Major Keywords:
Cc:

Description

Because of 0.90's move towards a single-threaded backend, things in libT that take a long time will halt the network activity and also cause the GUI thread to block on libT calls (most typically, tr_torrentStat()).

The bottom line is that close() needs to be moved to its own thread so that it won't block the rest of libT. We might want to move fdlimit's checkin/checkout code into its own thread, or maybe do *all* disk IO in a worker thread that notifies the main thread in a method similar to how libevent notifies us when network IO is ready.

Change History (9)

comment:1 Changed 14 years ago by charles

  • Owner set to charles
  • Priority changed from Normal to High
  • Severity changed from Normal to Major
  • Status changed from new to assigned

comment:2 Changed 14 years ago by charles

  • Component changed from Transmission to libtransmission

comment:4 Changed 13 years ago by Biiaru

This is a very important bug. I'd like to propose for it to be fixed for the next release, as it's getting on a lot of people's nerves (including mine).

Please look into this more, and please try and have it fixed for the next release... a lot of people have been waiting for a fix for a long time now.

comment:5 Changed 13 years ago by charles

  • Priority changed from High to Normal

Biiaru: yes sir, sir!

comment:6 Changed 13 years ago by charles

Ticket #1440 has been marked as a duplicate of this ticket.

comment:7 Changed 13 years ago by charles

  • Summary changed from 1.02 GUI freeze due to threads blocking on disk IO to GUI freeze due to threads blocking on disk IO

comment:8 Changed 13 years ago by turbo

See #1753.

comment:9 Changed 13 years ago by charles

  • Resolution set to duplicate
  • Status changed from assigned to closed

This ticket has been superceded by #1753.

Note: See TracTickets for help on using tickets.