@@ -2257,28 +2257,16 @@ static int vimModMaskToEventModifierFlags(int mods)
22572257
22582258// -- Channel Support ------------------------------------------------------
22592259
2260- static NSMutableSet *MMChannels;
2261-
22622260 void *
22632261gui_macvim_add_channel (channel_T *channel, int part)
22642262{
2265- if (!MMChannels)
2266- MMChannels = [NSMutableSet new ];
2267-
2268- int fd = channel->ch_part [part].ch_fd ;
2269- dispatch_queue_t q =
2270- dispatch_get_global_queue (DISPATCH_QUEUE_PRIORITY_HIGH, 0 );
22712263 dispatch_source_t s =
2272- dispatch_source_create (DISPATCH_SOURCE_TYPE_READ, fd, 0 , q);
2273- [MMChannels addObject: s];
2264+ dispatch_source_create (DISPATCH_SOURCE_TYPE_READ,
2265+ channel->ch_part [part].ch_fd ,
2266+ 0 ,
2267+ dispatch_get_main_queue ());
22742268 dispatch_source_set_event_handler (s, ^{
2275- dispatch_suspend (s);
2276- dispatch_async (dispatch_get_main_queue (), ^{
2277- if ([MMChannels containsObject: s]) {
2278- channel_read (channel, part, " gui_macvim_add_channel" );
2279- dispatch_resume (s);
2280- }
2281- });
2269+ channel_read (channel, part, " gui_macvim_add_channel" );
22822270 });
22832271 dispatch_resume (s);
22842272 return s;
@@ -2288,7 +2276,6 @@ static int vimModMaskToEventModifierFlags(int mods)
22882276gui_macvim_remove_channel (void *cookie)
22892277{
22902278 dispatch_source_t s = (dispatch_source_t )cookie;
2291- [MMChannels removeObject: s];
22922279 dispatch_source_cancel (s);
22932280 dispatch_release (s);
22942281}
0 commit comments