Opened 9 years ago

Closed 7 years ago

#1759 defect closed invalid (invalid)

eliminate "portable" gtk2 reactor on win32 platforms, use real gtk2 reactor

Reported by: glyph Owned by:
Priority: high Milestone:
Component: core Keywords:
Cc: teratorn Branch:
Author: Launchpad Bug:

Description

In reality gtk2reactor is portable already. I haven't done a full test run on windows but the basics (twisted.test) do work.

But hey, full test runs on Windows aren't my job any more, right?

Please review this and merge it if it looks like it might actually work.

Attachments (1)

its-portable-already.diff (1.9 KB) - added by glyph 9 years ago.

Download all attachments as: .zip

Change History (12)

Changed 9 years ago by glyph

comment:1 Changed 9 years ago by glyph

  • Priority changed from normal to highest

comment:2 Changed 9 years ago by glyph

Ugh. I discovered today that gtk2 uses MsgWaitForMultipleObjects internally, meaning that the socket limit is 63 as with win32eventreactor. I guess the PortableGtk2Reactor should stick around.

comment:3 Changed 9 years ago by glyph

  • Keywords review removed
  • Priority changed from highest to low

Eventually I guess we should figure out if this should be an option or something. Let's forget about it for now.

comment:4 Changed 8 years ago by teratorn

  • Owner teratorn deleted

comment:5 Changed 8 years ago by teratorn

  • Cc teratorn added

comment:6 Changed 7 years ago by exarkun

  • Priority changed from low to high
  • Type changed from enhancement to defect

Surprise! Untested code is broken code. PortableGtkReactor chokes and dies:

AttributeError: 'PortableGtkReactor' object has no attribute '_simtag'

Note that this effectively means that Twisted + Gtk2 on Windows is totally broken.

We should get rid of PortableGtkReactor and live with the limit and/or set up a win32 gtk2 buildslave.

comment:7 Changed 7 years ago by exarkun

A user report indicates that fixing the (trivial) _simtag issue results in something that seems to work. Gtk2Reactor, however, the same user reports, does not work on Windows Vista.

comment:8 Changed 7 years ago by jdahlin

Please do not remove PortableGtkReactor, it is working better than the normal GtkReactor for me using Windows Vista.

I reported #3203 about the AttributeError, fixing that which is not particularly difficult makes my gtk based program work much better on win32.

comment:9 Changed 7 years ago by glyph

#2949 was a duplicate of this bug.

comment:10 Changed 7 years ago by exarkun

  • Resolution set to invalid
  • Status changed from new to closed

Because of the 63 socket limit and because g_io_add_watch doesn't work with sockets on Windows (you have to use g_io_channel_win32_new_socket), I think we'll keep PortableGtkReactor for now.

comment:11 Changed 4 years ago by <automation>

Note: See TracTickets for help on using tickets.