@@ -2257,26 +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_sync (dispatch_get_main_queue (), ^{
2276- if ([MMChannels containsObject: s]) {
2277- channel_read (channel, part, " gui_macvim_add_channel" );
2278- }
2279- });
2269+ channel_read (channel, part, " gui_macvim_add_channel" );
22802270 });
22812271 dispatch_resume (s);
22822272 return s;
@@ -2286,7 +2276,6 @@ static int vimModMaskToEventModifierFlags(int mods)
22862276gui_macvim_remove_channel (void *cookie)
22872277{
22882278 dispatch_source_t s = (dispatch_source_t )cookie;
2289- [MMChannels removeObject: s];
22902279 dispatch_source_cancel (s);
22912280 dispatch_release (s);
22922281}
0 commit comments